記事「MQL5での行列およびベクトル演算」についてのディスカッション - ページ 3

 
Rashid Umarov #:
もしくはMatrixSetValuesの記事を見てね。

わかったよ、ありがとう。結局は2次元配列みたいなもんだね。

 
Rashid Umarov #:

正直混乱しています。ここ1と ここ2に 説明があり、最初の変形は記事通りですが、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 #:

2つ目のリンクにはこんな解決策がある。

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ファイルが読み込まれるのと同じようにすることが望ましいが、つまり、異なる充填があるだろう - 何が必要であり、その後、すでに行列がある特定の場所から指定する...

 

行列って2次元の配列だよね?

この配列のある列の最大 値を求めたいのですが、説明書を見ます。

//Пример:

   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]
 最大インデックス 5 最大値 12.0
 */

そして、座標の3桁と4桁はどう理解すればいいのでしょうか?

また、最終的にある列の最大値を求めるにはどうすればいいのでしょうか?

 
行列の特定の列や行をベクトルや配列にコピーするには?
 

行列をクリアするためにターミナルを開き直さなければならないのはなぜですか?

エッセンス - コードを書く - 行列を埋める - 行列の結果を印刷する - スクリプトを実行する - 行列の充填をコメントする - スクリプトを実行する - 古い値で行列を印刷する。

 
Rashid Umarov #:

序文にこうある。

さて、写真では00、01、02......とナンバリングを変えることができる。...と変更すれば、より分かりやすいだろう。