Tri

指定された対角線以下に1を持ち、それ以外が0の行列を作成する静的関数です。

static matrix matrix::Tri(
  const ulong rows,        // 行数
  const ulong cols,        // 列数
  const int  ndiag=0      // 対角線の数
  );

パラメータ

rows

[in] 配列の行数

cols

[in] 配列の列数

ndiag=0

[in] それ以下の行列が埋められる劣対角。k = 0は主対角で、k < 0はその下、k > 0は上です。デフォルトは0です。

戻り値

下三角行列が1で満たされ、その他の部分が0である行列

MQL5の例

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

np.tri(3, 5, 2, dtype=int)
array([[1, 1, 1, 0, 0],
      [1, 1, 1, 1, 0],
      [1, 1, 1, 1, 1]])