여기에서는 2차원 그래프를 작성하는데 많이 쓰이는 plot()함수의 사용법에 대해서 자세히 알아보도록 하겠다.(이후 예제는 gnu octave로 모두 실행 가능함) 먼저 다음 예제를 실행해 보자.
>> y=(-3:3).^3; >> plot(y); |
[그림 1] 실행 결과 (gnu octave 에서 캡쳐)
plot()함수는 입력 파라메터(일단은 벡터라고 가정한다)가 하나일 때는 x축에는 인덱스 값을, y축에는 그 입력 파라메터를 도시한다. 즉 위 예제의 경우
y = [ -27 -8 -1 0 1 8 27]
인덱스 1 2 3 4 5 6 7
이므로 이를 (x,y)쌍으로 나타내면 (1,-27), (2,-8), (3,-1), (4,0), (5,1), (6,8), (7,27) 이고 plot()함수는 이 위치에 점을 찍은 후 이들을 선으로 연결한다. [그림 1]을 자세히 관찰해 보면 이해가 갈 것이다. 만약 점들의 간격이 충분히 좁다면 마치 곡선처럼 보일 것이다.
>> y=(-3:0.1:3).^3;>> plot(y) |
[그림 2] 실행 결과 (gnu octave 에서 캡쳐)
점과 점의 간격이 작기 때문에 마치 곡선처럼 보이지만 기본적인 원리는 앞에서 설명한 바와 같다.
또 다른 예로서 한 주기 동안 시간 t와 시간함수인 사인 함수 y=sin(t)를 그래프로 그려보자. 먼저 기준 축인 시간함수의 벡터를 정해야 한다.
>> t = 0:0.1:2*pi ; %t축 데이터 생성>> y = sin(t); %y축 데이터 생성>> plot(t,y) |
[그림 3] 실행 결과 (gnu octave 에서 캡쳐)
입력 파라메터가 두개인 경우 두 입력은 크기가 같은 벡터여야 하며 첫 번째 파라메터를 x축에 그리고 두 번째 파라메터를 y축에 대응시켜서 그래프를 그리게 된다.
>> x=-2:5;>> y=exp(x);>> plot(x,y) |
위의 예에서 다음과 같은 행벡터들을 얻을 수 있다.
x=[ -2 -1 0 1 2 3 4 5]
y=[ 0.14 0.36 1 2.72 7.39 20.09 54.60 148.41]
따라서 plot()함수는 (x,y)순서쌍 (-2,0.14), (-1,0.36), (0,1), (1,2.72), (2,7.39), (3,20.09), (4,54.60), (5,148.41)의 위치에 점을 찍은 후 이들을 서로 실선으로 연결하게 된다. [그림 4]에 결과가 도시되어 있다.
[그림 4] 실행 결과 (gnu octave 에서 캡쳐)
좀 더 부드러운 곡선을 얻기 위해서는 행벡터 x의 간격만 줄여주면 된다.
>> x=-2:0.01:5;>> y=exp(x);>> plot(x,y) |
[그림 5] 실행 결과 (gnu octave 에서 캡쳐)
'프로그래밍언어.Lib > MATLAB' 카테고리의 다른 글
MATLAB의 plot()함수 (part 3) (0) | 2015.06.30 |
---|---|
MATLAB의 plot()함수 (part 2) (0) | 2015.06.30 |
MATLAB의 ezplot()함수 (1) | 2015.06.27 |
MATLAB의 기본적인 수학 함수들 (0) | 2015.06.27 |
MATLAB의 다항식(polynimial) 다루기 (part 2) (0) | 2015.06.27 |