본문 바로가기

Software/MATLAB

[MATLAB 연재] 2. 기초연산법 및 데이터의 그래픽 출력 1

본 강좌에 사용되는 MATLAB은 버젼7.9.0 (R2009b)을 대상으로 합니다.

콜론( : ) 연산자 !

위에서처럼 1:5라고 명령을 주면 1부터 5까지 1간격으로 ans라는 변수에 저장이 됩니다.이때 콜론(:)이 하나만 들어가면 자동으로 1간격으로 잡아주게 됩니다.

위에서 처럼 1:1:0.5:2라고 하면 1부터 0.5간격으로 2까지 잡게 됩니다.

행렬 만들기 !

MATLAB에서 행렬을 만들때, 세미콜론(;)이 행구분이 됩니다.

위에서 처럼 명령을 주면 3*3크기의 행렬이 만들어 집니다. 콤마(,)는 열구분에서 사용되는데 안써도 되지만, 보기 편하기 구분을 주기 위해서라면

으로 명령해도 같은 결과가 나타납니다.

만약 행렬을 만들때, 행이 너무 길어서 구분짓기 어렵다면 위에서처럼 엔터키로 구분할도 있습니다. 하지만, 세미콜론(;)으로 행구분을 하는게 좋습니다. (습관적으로..^^)

이렇게 말이지요.

Dot( . ) 연산 !

위 결과를 한번 보죠. A라는 변수에 콜론 연산을 통해서 1부터 5까지를 저장합니다. 이런걸 행벡터라고도 하는데, 그냥 큰 범위로 1*5의 크기를 가지는 행렬이라고 하죠. B도 같은 크기의 행렬을 지정했습니다. 그러면, A와 B 행렬을 곱하면 (고등학교 수학으로 돌아가 기억을 더듬어보면) 곱할 수 없습니다. 그러니 에러가 나죠.

그러면, 굳이 곱하고 싶다면, A행렬과 B행렬의 전치(transpose)행렬을 곱해주면 됩니다. 그러면 위와 같은 결과가 나오겠지요. 그런데, 제 목적이 만약 A행렬의 첫 요소와 B행렬의 첫 요소를 곱하고, 두번째들끼리 곱하고 하는 것만 하는 거라면...

위와 같이 DOT( . )연산자를 사용하면 됩니다. dot 연산은 요소별로 계산을 해줍니다.

Plot 명령을 이용한 그래픽 출력 !

위 명령에서 t에는 0부터 2pi까지 0.01간격의 숫자들을 저장합니다. 그리고, y라는 변수에는 sin(t)를 지정했네요. 그러면, t는 1*629의 크기를 가지는 행렬이고, y도 같은 크기를 가지는 행렬이 됩니다. 그리고 plot명령으로 그래프를 그릴 수 있는데, 일단 가장 간단히 그리는 법은 

plot(X축데이터, Y축데이터)

라고 입력해주는 것입니다. 여기서는 X축은 t가 되고, Y축은 y값이 될것이죠.

위 그림이 실행결과입니다. 좀 심심하죠?^^

이제 격자 기준선들을 넣어보죠. grid라는 명령입니다. grid on이라고 명령을 주면

이렇게 기준선이 나타납니다. 

또, 각 축에 label을 달아보겠습니다. 각 축에 라벨을 다는 명령어는  xlabelylabel입니다. 위와 같이 입력을 하면

이렇게 나타납니다. title이라는 명령을 이용하면 그래프의 제목을 달아줄 수도 있습니다. 

이렇게 해주면

이렇게 되죠. 이제

y1=cos(t)라고 하고, y1을 겹쳐서 그려보겠습니다. 속성에서 겹쳐그리기를 허용하는 것이 hold on 이라는 명령입니다. 그리고, 같은 색으로 그리면 좀 그러니 빨간색으로 그려보도록 하죠. 위와 같이 추가로 다시 입력하면

으로 나타납니다. 그런데,  그래프가 축에 꽉차서 좀 보기가 그렇네요. 그래서 축의 범위를 좀 수정해야겠습니다.  그 명령어가 axis 명령입니다.

axis 명령은 x축의 최소, 최대, 다음으로 y축의 최소, 최대값을 입력하면 됩니다. x축은 0부터 2pi까지, y축은 좀 여유를 두기 위해 -1.5부터 1.5까지로 설정하죠. 그러면

으로 나타납니다. 좀 보기 편하죠. 다음으로 각 선의 역활에 설명을 달아줘야겠네요. 이때 사용하는 명령어가 legend입니다. 

이렇게 입력해두죠. 그린 순서대로 달아주면 됩니다.

이렇게 그림이 나타납니다. 다양한 설정들은 다시 이야기하고, 좀 더 편하게 설정하는 방법을 보면

저 figure창에서 표시된 부분의 아이콘을 누르면

와 같이 창이 변경됩니다. 그러면, 파랑색선을 클릭하고

이렇게 각종 설정을 바꿔줄 수 있습니다. 위에서는 굵기를 바꾸었네요.

그리고 위에 표시된 아이콘을 누르면 원래대로 돌아갑니다. 그런데 혹시 느끼셨나 모르겠는데 이번글의 포스팅에서 나타나는 그래프들이 꽤 모양이 깔끔하죠?^^. 단순히 화면 캡쳐를 한것이 아닙니다. Figure창이 지원하는 Copy기능을 사용한 것이죠. Figure창에서 Edit 메뉴에서 Copy Figure를 선택하고

붙여넣기를 하면

이렇게 깔끔한 그래프가 나타납니다.^^

MATLAB 02. 기초 연산 법 및 그래픽 출력 01.pdf

반응형