Eye

통계 함수. 주대각선이 1이고 다른 곳이 0인 지정된 크기의 행렬을 구성합니다. 대각선에 1이 있고 다른 곳에 0이 있는 행렬을 반환합니다.

static matrix matrix::Eye(
  const ulong  rows,        // 행의 수
  const ulong  cols,        // 열의 수 
  const int    ndiag=0      // 대각선의 인덱스
   );

매개 변수

rows

【in】 출력에서 행의 수입니다.

cols

[in]  출력에서 열의 수입니다.

ndiag=0

[in] 대각선 인덱스: 0(기본값)은 주 대각선을 나타내고 양수 값은 위쪽 대각선을, 음수 값은 아래쪽 대각선을 나타냅니다.

반환값

값이 1인 k번째 대각선을 제외하고 모든 요소가 0인 행렬입니다.

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

파이썬 예:

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