본문 바로가기

공부/프로그래밍

matlab(매틀랩) programing 강의 180416

2015b 버전 기준




함수를 설정하는데는 여러가지 방법이 있다.


@를 이용하거나 inline을 이용하거나.


예를 통해 이해하자.


식을 쓸 땐 i,j는 쓰지말자 복소수 이용과 충돌한다.




스크립트로 작성




function y = fun1(x)


y=x.^2-4;


-


매틀랩 명령 창에서 시험




fun1(2)


ans=0


-


이를 호출해 사용해 봄




[x, value] =fzero(@fun1, 2)


ans=2




[x, value] =fzero(@fun1, -5)


ans=-5




fplot(@fun1,[-5,5])




-----------------------------------------


inline으로 매틀랩 명령 창에서 계산




fun2=inline('x.^2-4');


>> fun2(4)




ans =




    12




fplot('x.^3-2',[-4,4])



-----------------------------------------




f=inline('x.*sin(2*x.^2-pi/6)');


>> x=[0:0.1:4*pi]; y=f(x);


>> plot(x,y)


>> f(pi)




ans =




    1.1245




fplot(f,[-5 5])






----------------------------------------


입력문자는 보통 알파벳 순으로 배치되나 임의로 바꿀 수 있다.




fun5=inline('2*x.^2-4*x*y')




fun5 =




     인라인 함수:


     fun5(x,y) = 2*x.^2-4*x*y




fun5=inline('2*x.^2-4*x*y', 'y','x')




fun5 =




     인라인 함수:


     fun5(y,x) = 2*x.^2-4*x*y          <== 문자의 순서가 뒤바뀌었다






--------------------------------------




 


f=inline('t.^2.*sin(omega.*t-pi/6)'); <- 변수간 산술이 있는 경우 항상 .을 쓰자.


>> omega=linspace(0,2,200);


>> t=linspace(0,6*pi,200);


>> x=f(omega,t);


>> plot(t,x);


>> grid on




-------------------------------------




cube=@(x)x^3                    <- @로 함수를 정의할 때 (x)를 붙임으로서 입력변수를 설정 (x,y)등 늘릴 수 있음. 




poly1=@(x)4*x.^2-50*x+5;


fminbnd(poly1,-10,10)


fminbnd(@(x)4*x.^2-50*x+5,-10,10)


fminbnd('4*x.^2-50*x+5',-10,10)




>> f=@(x)exp(x.^2)./sqrt(x.^2+5)




>> f= @(x,y)x+y;


>> f(2,3)


f=@(x,y)1.8.^(-1.5*sqrt(x.^2+y.^2).*cos(0.5*y).*sin(x))


ha=@(x,y)2*x^2-4*x*y+y^2

728x90