ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1-3. (Matlab) 그래프 겹쳐 그리는 방법!
    2) Tech 2020. 3. 6. 18:38
    반응형

    안녕하세요!!

     

    오늘은 매트랩에서 그래프를 겹쳐 그리는 3가지 방법에 대해서 이야기해보려합니다!

     

    명령창으로 이동하겠습니다!

     

    1. hold on/off 로 그래프 겹치기

     

    clear; clc; close all;

    (close all; -> 모든 그래프창 닫기 )

     

    예로 몇가지 그래프를 그려보겠습니다.

     

    x = -10:0.01:10;

     

    y = sin(x);

    y2 = cos(x);

    y3 = atan(x);    ->  atan: 역탄젠트

     

    plot(x,y)  -> figure1 창에 y=sin(x)그래프 생성

     

    hold on   -> figure1 창 hold on

     

    plot(x,y2)  -> figure1 창에 y=cos(x)그래프 생성 

     

    plot(x,y3)  -> figure1 창에 y=tan-1(x) 그래프 생성

     

    hold off  -> hold off 명령어로 그래프 겹치기 종료

     

    +legend를 달아봅시다!

     

    그래프 순서대로 입력해주시면됩니다!

     

    legend('y=sinx', 'y=cosx', 'y=tan-1x', 'Loacation', 'northwest')

     

    location은 northeast, best, south, southwest .. 등이 있습니다.

     

    hold on/off로 겹치기

     

    2. plot(x,y , x,y, x,y, ....) 연속 기입

     

    다시 명령창으로!

     

    figure(2)

     

    plot(x,y, x,y2, x,y3 )   -> 연속 기입 후, 모양 설정

     

    또는

     

    plot(x,y, 'r',  x,y2, 'g', x,y3, 'b') -> 그래프 색 설정

     

     

    plot에 연속 기입

     

    3. plot(x, [y, y2, y3]) 벡터 결합하기

     

    이번에는 y,y2,y3를 행 또는 열백터로 결합하는 방법입니다.

     

    여기서 벡터라는 표현을 쓰는 이유는, 만약 y,y2,y3를 일렬로 쭉 나열하게 되면 

     

    x:y 가 1:1 대응이 되지않기 때문에 행 또는 열벡터로 나열을 해주어야합니다! 

     

    x, Y 길이가 같지 않아 오류발생

     

    오류 이유! 1:1 대응 X

    아래 그림과 같이 나열해주어야합니다.

    1:1 대응!

    또는

     

    1:1 이 되어야한다!

    - 행벡터로 나열하는 방법

     

    Y = [y; y2; y3];   -> ;를 사용하면 행으로 추가됩니다.

     

    plot(x, Y)

     

    행벡터 결합으로 그래프 그리기

     

    - 열벡터로 나열하는 방법

     

    y, y2, y3를 Transpose를 해주어야합니다.

     

    y = y.';     -> y transpose

     

    y2 = y2.';   -> y2 transpose

     

    y3 = y3.';    -> y3 transpose

     

    Y = [y, y2 ,y3];   -> y, y2, y3 열 벡터 결합

     

    plot(x,Y)

     

    열벡터 결합으로 그래프 그리기 

     

    열벡터 보단 행벡터가 간단하네요!

     

    자! 이렇게 3가지 그래프를 겹쳐 그리는 3가지 방법에 대해 이야기 했습니다.

     

    별거 아니지만 많은 도움이 되셨으면 좋겠네요!

    반응형

    댓글

Designed by Tistory.