컴퓨터 못만지는거/매트랩 Matlab

매트랩 행렬 생성하기 Matlab 기초

김무명01 2020. 11. 25.

매트랩에서 필수적인 행렬 생성을 알아보자.

기본적으로 명령어(N)이면 N x N의 정사각 행렬을 만들어주고, 명령어(N, M, K) 라면 N x M x K 크기의 행렬을 만들어준다.

4차원, 5차원 배열도 가능하다.

 

행렬의 크기가 변하면 메모리를 많이 쓴다. 미리 데이터가 들어갈 행렬을 만들어 놓고 시작하는 것이 더 좋다. 

 

 

 

1) 0으로만 구성된 행렬 생성하기(zeros)

 

(1)2X2 크기의 정사각 행렬을 생성

zeros(2)

ans =

     0     0
     0     0

 

(2) 2X3 크기의 행렬을 생성.

zeros(2,3)

ans =

     0     0     0
     0     0     0

 

 

2) 1로만 구성된 행렬 생성하기(ones)

 

(1) 모든 성분이 1인 4X3 크기의 행렬을 생성

ones(4,3)

ans =

     1     1     1
     1     1     1
     1     1     1
     1     1     1

 

3) 대각 행렬 생성하기

eye(4)

ans =

     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     1

 

cf. eye(4,3)과 같이 입력한다면 어떻게 될까?

ans =

     1     0     0
     0     1     0
     0     0     1
     0     0     0

 

(1,1)부터 (2,2), (3,3)에 1이 들어가고 나머지에는 모두 0이 채워진다.

 

 

4) NaN 성분으로 채워진 행렬 만들기

NaN(2,4,2)

 

ans(:,:,1) =

   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN


ans(:,:,2) =

   NaN   NaN   NaN   NaN
   NaN   NaN   NaN   NaN

 

 

5) 정수로 행렬 크기만큼 랜덤 배치하기 

magic(4)

 

ans =

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

 

댓글