Discussion de l'article "Opérations sur les Matrices et les Vecteurs en MQL5" - page 3

 
Rashid Umarov #:
Vous pouvez aussi consulter l'article MatrixSetValues, tout est clair.

J'ai compris, merci, c'est comme un tableau à deux dimensions en fin de compte.

 
Rashid Umarov #:

Je suis honnêtement confus, il y a une description ici 1 et ici 2, et la première variante est conforme à l'article, mais rien n'est reproduit de la seconde. Ou bien est-ce que je ne la reproduis pas, et qu'il est possible de lire des données dans la matrice à partir d'un fichier binaire en contournant le tableau ?

Le deuxième lien propose une telle solution.

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

fromfile

Crée une matrice à partir de données contenues dans un fichier texte ou binaire.

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

C'est écrit dans l'introduction

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

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


Seule la numérotation des lignes et des colonnes, contrairement à l'algèbre linéaire, commence à zéro, comme dans les tableaux.

 
Aleksey Vyazmikin #:

Le deuxième lien propose cette solution.

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

fromfile

Crée une matrice à partir de données contenues dans un fichier texte ou binaire.

Ceci n'est pas encore implémenté

 
Rashid Umarov #:

Cela est dit dans l'introduction

Il est difficile d'imaginer quelles sont les choses à prendre au pied de la lettre et quelles sont celles à prendre de manière abstraite....

 
Rashid Umarov #:

Cette mesure n'a pas encore été mise en œuvre

C'est fait, attendons .... bien qu'il soit évidemment souhaitable de procéder de la même manière que pour la lecture d'un fichier bin, c'est-à-dire qu'il y aurait différents remplissages - ce qui est nécessaire, et puis déjà spécifier à partir d'un endroit spécifique où la matrice est là...

 

Je ne comprends pas, une matrice est un tableau à deux dimensions, n'est-ce pas ?

Je veux trouver la valeur maximale dans une certaine colonne de ce tableau, je vais regarder les instructions.

//Пример:

   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]
 index max 5 valeur max 12.0
 */

Et comment suis-je censé comprendre 3 et 4 chiffres dans les coordonnées alors qu'il ne devrait y en avoir que deux ?

Et comment puis-je obtenir la valeur maximale d'une colonne donnée à la fin ?

 
Comment copier une colonne/rangée spécifique d'une matrice dans un vecteur ou un tableau ?
 

Pourquoi dois-je rouvrir le terminal pour effacer la matrice ?

Essence - écrire le code - remplir la matrice - imprimer les résultats de la matrice - exécuter le script - commenter le remplissage de la matrice - exécuter le script - imprimer la matrice avec les anciennes valeurs.

 
Rashid Umarov #:

Cela est dit dans l'introduction

Dans l'image, vous pourriez changer la numérotation de 00, 01, 02.... première ligne, ce serait tout de suite plus clair.