Tri

Dies ist eine statische Funktion, die eine Matrix mit Einsen auf und unterhalb der gegebenen Diagonalen und Nullen an anderen Stellen erstellt.

static matrix matrix::Tri(
  const ulong rows,        // Zeilenanzahl
  const ulong cols,        // Spaltenanzahl
  const int   ndiag=0      // Zahl der Diagonale
   );

Parameter

rows

[in]  Zeilenanzahl im Array.

cols

[in]  Spaltenanzahl im Array.

ndiag=0[in] Index der Diagonale: 0 (Standardwert) bezieht sich auf die Hauptdiagonale, ein positiver Wert bezieht sich auf eine obere Diagonale und ein negativer Wert auf eine untere Diagonale.RückgabewertEine Matrix, bei der alle Elemente gleich Null sind, mit Ausnahme der k-ten Diagonale, deren Werte gleich Eins sind.

[in]  Die Sub-Diagonale, auf der und unter der das Array gefüllt wird. k = 0 ist die Hauptdiagonale, während k < 0 darunter liegt und k > 0 darüber. Standardwert ist 0.

Rückgabewert

Array, dessen unteres Dreieck mit Einsen gefüllt ist, während an anderer Stelle Null steht.

MQL5 Beispiel:

   matrix matrix_a=matrix::Tri(3,4,1);
   Print("Tri(3,4,1)\n",matrix_a);
   matrix_a=matrix::Tri(4,3,-1);
   Print("Tri(4,3,-1)\n",matrix_a);
 
/*
   Tri(3,4,1)
   [[1,1,0,0]
    [1,1,1,0]
    [1,1,1,1]]
   Tri(4,3,-1)
   [[0,0,0]
    [1,0,0]
    [1,1,0]
    [1,1,1]]
*/

Beispiel

np.tri(352dtype=int)
array([[11100],
       [11110],
       [11111]])