Flat

Ermöglicht die Adressierung eines Matrixelements über einen Index anstelle von zwei.

bool matrix::Flat(
  const ulong   index,     // 
  const double  value      // zu setzender Wert
   );
 
double matrix::Flat(
  const ulong   index,     // 
   );
 

Parameter

index

[in]  Index für Flat

value

[in]  Wert, der der Stelle des Index zugewiesen werden soll.

Rückgabewert

Wert nach gegebenem Index.

Hinweis

Für die Matrix mat(3,3) kann der Zugriff wie folgt geschrieben werden:  

  • Lesen: 'x=mat.Flat(4)', was gleichbedeutend ist mit 'x=mat[1][1]'  
  • Schreiben: 'mat.Flat(5, 42)', was 'mat[1][2]=42' entspricht

 

Beispiel

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