TriU

Retorna uma cópia da matriz, substituindo todos os elementos abaixo da k-ésima diagonal por zeros. Matriz triangular superior.

matrix matrix::Triu(
  const int     ndiag=0      // índice diagonal
   );

Parâmetros

ndiag=0

[in]  Diagonal abaixo da qual os elementos são substituídos por zeros. ndiag = 0 (por padrão) – diagonal principal, ndiag < 0 – abaixo, já ndiag > 0 – acima da diagonal principal.

 

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

Exemplo em 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]]