Eye

La función estática crea una matriz del tamaño especificado con unidades en la diagonal especificada y ceros fuera de la diagonal. Retorna una matriz con unidades a lo largo de la diagonal y ceros en el resto.

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

Parámetros

rows

[in]  Número de filas en la salida.

cols

[in]  Número de columnas en la salida.

ndiag=0

[in]  El índice de la diagonal: 0 (por defecto) indica la diagonal principal; el valor positivo indica la diagonal superior, el valor negativo, la diagonal inferior.

Valor retornado

Es una matriz en la que todos los elementos son iguales a cero, excepto la k-ésima diagonal, cuyos valores son iguales a uno.

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

Ejemplo en 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.]])