"MQL5'te matrisler ve vektörlerle çalışma" makalesi için tartışma - sayfa 3

 
Rashid Umarov #:
Ya da MatrixSetValues makalesine bakın, her şey açıkça görülüyor.

Anladım, teşekkürler, sonuçta iki boyutlu bir dizi gibi.

 
Rashid Umarov #:

Dürüst olmak gerekirse kafam karıştı, burada 1 ve burada 2 açıklaması var ve ilk varyant makaleye göre, ancak ikincisinden hiçbir şey yeniden üretilmiyor. Yoksa ben mi çoğaltamıyorum ve diziyi atlayarak ikili bir dosyadan matrise veri okumak mümkün mü?

İkinci bağlantıda böyle bir çözüm var.

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

fromfile

Bir metin veya ikili dosyadaki verilerden bir matris oluşturur

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

Giriş bölümünde yazıyor

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

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


Sadece satır ve sütun numaralandırması, lineer cebirden farklı olarak, dizilerde olduğu gibi sıfırdan başlar.

 
Aleksey Vyazmikin #:

İkinci bağlantıda bu çözüm var.

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

fromfile

Bir metin veya ikili dosyadaki verilerden bir matris oluşturur

Bu henüz uygulanmadı

 
Rashid Umarov #:

Giriş bölümünde aynen şöyle yazıyor

Hangi şeylerin harfi harfine hangilerinin soyut olarak alınacağını hayal etmek zor....

 
Rashid Umarov #:

Bu henüz uygulanmamıştır

Anladım, bekleyelim.... tabii ki bin dosyası okunurken aynı şekilde yapılması arzu edilse de, yani farklı doldurma olması - neyin gerekli olduğu ve daha sonra matrisin orada olduğu belirli bir yerden belirtilmesi ...

 

Anlamıyorum, matris iki boyutlu bir dizidir, değil mi?

Bu dizide belirli bir sütundaki maksimum değeri bulmak istiyorum, talimatlara bakacağım.

//Пример:

   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 değer 12.0
 */

Ve koordinatlarda sadece iki rakam olması gerekirken 3 ve 4 rakamı nasıl anlamam gerekiyor?

Ve sonuçta belirli bir sütunun maksimum değerini nasıl elde edebilirim?

 
Bir matrisin belirli bir sütununu / satırını bir vektöre veya diziye nasıl kopyalayabilirim?
 

Matrisi temizlemek için neden terminali yeniden açmam gerekiyor?

Öz - kod yaz - matrisi doldur - matris sonuçlarını yazdır - kodu çalıştır - matris doldurmayı yorumla - kodu çalıştır - matrisi eski değerlerle yazdır.

 
Rashid Umarov #:

Giriş bölümünde aynen şöyle yazıyor

Resimde numaralandırmayı 00, 01, 02.... olarak değiştirebilirsiniz. ilk satır, hemen daha net olacaktır.