TriU

k番目の対角より下の要素を0にした行列のコピーを返します(上三角行列)。

matrix matrix::Triu(
  const int    ndiag=0      // 対角のインデックス
  );

パラメータ

ndiag=0

[in] それより下の要素をゼロにする対角。ndiag = 0(デフォルト)は主対角で、ndiag < 0はその下、ndiag > 0はその上です。

 

MQL5の例

  matrix a={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
  matrix b=a.TriU(-1);
  Print("matrix b \n",b);
 
 /*
matrix b
 [[1,2,3]
  [4,5,6]
  [0,8,9]
  [0,0,12]]
 */

Pythonの例

import numpy as np
 
a=np.triu([[1,2,3],[4,5,6],[7,8,9],[10,11,12]], -1)
print(a)
 
[[ 1 2 3]
[ 4 5 6]
[ 0 8 9]
[ 0 0 12]]