Flat

Позволяет адресоваться к элементу матрицы через один индекс, а не через два.

bool matrix::Flat(
  const ulong   index,     // 
  const double   value     // устанавливаемое значение
   );
 
double matrix::Flat(
  const ulong   index,     // 
   );
 

Параметры

index

[in]  Flat-индекс

value

[in]  Значение для установки по заданному индексу.

Возвращаемое значение

Значение по заданному индексу.

Примечание

Для матрицы matrix mat(3,3) доступы можно записать так:  

  • на чтение — x=mat.Flat(4), что эквивалентно записи x=mat[1][1]  
  • на запись — mat.Flat(5, 42), что эквивалентно записи mat[1][2]=42

 

Пример:

   matrix matrix_a={{10,3,2},{1,8,12},{6,5,4},{7,11,9}};
   Print("matrix_a\n",matrix_a);
   ulong arg_max=matrix_a.ArgMax();
   Print("max_value=",matrix_a.Flat(arg_max));
   matrix_a.Flat(arg_max,0);
   arg_max=matrix_a.ArgMax();
   Print("max_value=",matrix_a.Flat(arg_max));
 
 
  /*
  matrix_a
  [[10,3,2]
   [1,8,12]
   [6,5,4]
   [7,11,9]]
  max_value=12.0
  max_value=11.0
  */