Flat

Permite direccionar hacia un elemento de la matriz a través de un único índice en lugar de dos.

bool matrix::Flat(
  const ulong   index,     // 
  const double   value     // valor establecido
   );
 
double matrix::Flat(
  const ulong   index,     // 
   );
 

Parámetros

index

[in]  Índice flat

value

[in]  Valor a establecer según el índice especificado.

Valor retornado

Valor según el índice especificado.

Observación

Para la matriz matrix mat(3,3), los accesos se pueden escribir así:  

  • para la lectura – x=mat.Flat(4), lo que equivale en escritura a x=mat[1][1]  
  • para la escritura – mat.Flat(5, 42), lo que equivale en escritura a mat[1][2]=42

 

Ejemplo:

   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
  */