Eye

A função estática cria uma matriz do tamanho especificado com uns na diagonal especificada e zeros fora da diagonal. Retorna uma matriz com uns ao longo da diagonal e zeros em todas as outras posições.

static matrix matrix::Eye(
  const ulong  rows,        // número de filas
  const ulong  cols,        // número de colunas
  const int    ndiag=0      // índice diagonal
   );

Parâmetros

rows

[in]  Número de linhas de saída.

cols

[in]  Número de colunas de saída.

ndiag=0

[in] Índice da diagonal: 0 (padrão) representa a diagonal principal, um valor positivo representa uma diagonal superior e um valor negativo representa uma diagonal inferior.

Valor retornado

Matriz na qual todos os elementos são iguais a zero, exceto a k-ésima diagonal, cujos valores são iguais a um.

Exemplo em MQL5:

  matrix eye=matrix::Eye(33);
  Print("eye = \n"eye);
  
  eye=matrix::Eye(44,1);
  Print("eye = \n"eye);  
  /*
   eye = 
   [[1,0,0]
    [0,1,0]
    [0,0,1]]
   eye = 
   [[0,1,0,0]
    [0,0,1,0]
    [0,0,0,1]
    [0,0,0,0]]   
  */

Exemplo em Python:

np.eye(3, dtype=int)
array([[1, 0, 0],
       [0, 1, 0],
       [0, 0, 1]])
 
np.eye(4, k=1)
array([[0., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.],
       [0., 0., 0., 0.]])