지금까지 vector만들기를 한 방식은 명령창에서 값을 바로 만들었다.
그러나 실제로 이렇게 바로 값을 대입하는것은 의미가 없기 때문에
식을 이용해서 계산을 할 수 있도록 스크립트 창에서 직접 프로그래밍을 해보자.
매트랩에서 기본적으로 function이라는 내장함수를 갖고 있기 때문에 쉽게 식을 작성 할 수 있다.
function[c, d, e, f]=oper_f(a,b) 라는 함수를 선언을 했다고 가정하자.
이때, oper_f는 함수명이며 (a, b)는 변수이다.
function명령을 내린 순간부터 프로그램은 자동으로 함수임을 인식한다.
대괄호 안에있는 c, d, e, f는 각각 하나의 식이며 서로 다른 식으로 정의할 수 있다.
예를들어 c=a+b, d=a-b, e=a*b, f=a/b와 같이 서로 다른식을 하나의 matrix안에 대입할 수 있다.
이 식을 프로그래밍하면 다음과 같다.
function[c,d,e,f]=oper_f(a,b)
c=a+b;
d=a-b;
e=a*b;
f=a/b;
더 나아가서 C/C++과 같이 출력화면을 더욱 보기 쉽게 변경 할 수 있다.
스크립트 추가 후 fprintf와 %d를 이용하여 출력화면을 바꿔보자.
a=7;
b=5;
[w, x, y, z]=oper_f(a,b);
fprintf('%d 더하기 %d 는 %d.\n',a,b,w);
fprintf('%d 빼기 %d 는 %d.\n',a,b,x);
fprintf('%d 곱하기 %d 는 %d.\n',a,b,y);
fprintf('%d 나누기 %d 는 %f.\n',a,b,z);
C보다 코딩하기 편하고 더 직관적인것 같다.
기본적인 함수도 알겠다, 식도 작성할 줄 알겠다, 이제 그래프를 그려보자.
그래프를 그리기 위해서 plot()라는 함수를 이용해야 한다.
이는 그저 식을 출력하기 위한 함수이며 plot(x,y)라고 나타낼 때, 입력값x에 의해 y값을 나타낸다.
이제 앞서 배웠던 linspace()함수를 이용해서 각각의 값을 전부 for문을 통해서 그래프를 그릴수 있겠다.
t=linspace(0,1,100); //0부터 1까지 100개의 공간을 쪼갠다
y=zeros(1,100); //y에 100개의 공간을 할당 후 전부 0으로 채운다
for x=1:100 //x=1부터 100까지 반복한다.
y(x)=sin(2*pi*t(x)); //sin함수 식을 세워 y에 대입한다.
end
plot(t,y); //y를 t에 관한 함수로 출력한다.
'테크 > MATLAB' 카테고리의 다른 글
[MATLAB] 그래프 설정 명령어 (0) | 2021.07.07 |
---|---|
[MATLAB] 3D그래프 그리기(Gaussian Distribution Graph 2D & 3D) (1) | 2021.07.06 |
[MATLAB] 여러 그래프 띄우기(subplot()) (0) | 2021.07.06 |
[MATLAB] linspace(), zeros(), ones() 함수 (0) | 2021.07.06 |
[MATLAB] 입문 & 기본적인 Vector 만들기 (0) | 2021.07.05 |