본문 바로가기
programming language/MATLAB

MATLAB reshape()

by 남성 2013. 11. 29.

MATLAB의 행, 열을 바꿔보자

x=magic(4) % 4행 4열의 매트릭스 x

x =

16 2 3 13

5 11 10 8

9 7 6 12

4 14 15 1

   

이 매트릭스를 2행 8열로 만들어 보자. 이러한 경우 reshape() 함수를 쓸 수가 있다.

   

y2= reshape(x,2,8)

   

y2 =

16 9 2 7 3 6 13 12

5 4 11 14 10 15 8 1

 

결과를 확인 해보면 열을 기준으로 한다는 것을 알 수 있다. 즉, x의 1열의 값들을 배치하고 그담에 x의 2열의 값들이 배치하고 한다는 것이다. 매트랩의 대부분의 함수들도 대부분이 이처럼 열을 기준으로 한다는 것을 알아두자

   

다음으로 8행 2열로 만들어보자  

y2= reshape(x,8,2)

y2 =

16 3

5 10

9 6

4 15

2 13

11 8

7 12

14 1

 

참 쉽게 행, 열이 휙~ 휙~ 바뀐다.



2013-11-29 추가 내용

다음과 같이 행 또는 열에 대해서만 숫자를 지정해 준 후에 나머지 한 변수를 대괄호 [ ] 로 처리하면 알아서 matrix 의 크기를 변환 시켜 준다.

열만 지정해준 경우는 다음과 같고~

>> y2= reshape(x,[],2)

y2 =

16 3

5 10

9 6

4 15

2 13

11 8

7 12

14 1

 

행만 지정해준 경우는 다음과 같다

>> y2= reshape(x,8,[])

y2 =

16 3

5 10

9 6

4 15

2 13

11 8

7 12

14 1


태그

, ,

댓글0