文章 "MQL5 中的矩阵和向量操作" - 页 3

 
Rashid Umarov #:
或者查看 MatrixSetValues 文章,一切尽收眼底。

明白了,谢谢,它最终就像一个二维数组。

 
Rashid Umarov #:

老实说,我很困惑,这里 有说明1说明 2,第一种变体是根据文章进行的,但第二种变体什么都没有重现。还是说我没有复制,可以绕过数组从二进制文件向矩阵读取数据?

第二个链接就有这样的解决方案。

void matrix .FromFile(const int rows, condt int cols, const int file_handle, const int count=-1, const int offset=0)

从文件

根据文本或二进制文件中的数据创建矩阵

Документация по MQL5: Методы матриц и векторов
Документация по MQL5: Методы матриц и векторов
  • www.mql5.com
Методы матриц и векторов - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

就写在介绍中

Если кратко, то вектор — это одномерный массив типа double, матрица — двумерный массив типа double. Векторы бывают вертикальные и горизонтальные, но в MQL5 они не разделяются.

Матрицы можно представить как массив горизонтальных векторов, где первый индекс матрицы означает номер строки, а второй индекс — номер столбца.


与线性代数不同,只有行和列的编号是从零开始的,就像在数组中一样。

 
Aleksey Vyazmikin #:

第二个链接有这个解决方案。

void matrix .FromFile(const int rows, condt int cols, const int file_handle, const int count=-1, const int offset=0)

从文件

根据文本或二进制文件中的数据创建矩阵

尚未实现

 
Rashid Umarov #:

导言中写道

很难想象哪些是字面意思,哪些是抽象意思....

 
Rashid Umarov #:

尚未实施

明白了,让我们等待....当然,最好能以读取 bin 文件的相同方式进行,即有不同的填充--需要什么,然后从矩阵所在的特定位置指定...

 

我不明白,矩阵是一个二维数组,对吗?

我想找出 这个数组中某一列的最大值,我得看看说明。

//Пример:

   matrix matrix_a={{10,3,2},{1,8,12},{6,5,4},{7,11,9}};
   Print("matrix_a\n",matrix_a);
 
   vector cols_max=matrix_a.ArgMax(0);
   vector rows_max=matrix_a.ArgMax(1);
   ulong  matrix_max=matrix_a.ArgMax();
 
   Print("cols_max=",cols_max);
   Print("rows_max=",rows_max);
   Print("max index ",matrix_max,"  max value ",matrix_a.Flat(matrix_max));
 
   /*
 matrix_a
 [[10,3,2]
 [1,8,12]
 [6,5,4]
 [7,11,9]]
 cols_max=[0,3,1]
 rows_max=[0,2,0,1]
 max index 5 max value 12.0
 */

坐标应该只有两位数,我怎么能理解三位数和四位数呢?

还有,最后我怎么才能得到某一列的最大值?

 
如何将矩阵的特定列/行复制到向量或数组中?
 

为什么我必须重新打开终端才能清除矩阵?

本质--编写代码--填充矩阵--打印矩阵结果--运行脚本--注释矩阵填充--运行脚本--用旧值打印矩阵。

 
Rashid Umarov #:

导言中写道

那么,在图片中,你可以把编号从 00、01、02....第一行,这样就更清楚了。