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
'공부 > 프로그래밍' 카테고리의 다른 글
[Java] 자바 프로그래밍 1강 자바의 특징 (0) | 2018.09.29 |
---|---|
matlab(매틀랩) programing 강의 180418 (0) | 2018.04.21 |
matlab(매틀랩) programing 강의 180411 (0) | 2018.04.21 |
matlab(매틀랩) programing 강의 180404 (0) | 2018.04.21 |
matlab(매틀랩) programing 강의 180402 (0) | 2018.04.21 |