오늘의 포스팅에서는 function handle 사용법의 추가 적인 내용들에 대하여 정리하겠습니다.
여러 함수에 대해 똑 같은 값을 적용할 때에는 function handle 을 struct class 나 cell class 의 형태로 만들어서 이용할 수가 있습니다.
다음 수식에 대하여 struct 의 형태로 function handle 을 구성하고 그에 따른 값을 알아보죠.
다음과 같이 struct 의 형태로 표현 할 수 있고, x=-1:0.5:1 에 대한 각 수식의 값을 한번에 구할 수가 있습니다.
struct 에 한번에 똑 같은 값 또는 함수 등을 적용 할 때는 structfun() 함수를 이용 합니다.
위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
ans =
f: [1 0.2500 0 0.2500 1]
g: [-1 -0.1250 1 3.1250 7]
h: [-0.8415 -0.4794 0 0.4794 0.8415]
위 수식에 대하여 cell 의 형태로 표현하고 위 x 의 범위에 대한 값을 구해 보죠.
cell 에 한번에 똑 같은 값 또는 함수 등을 적용 할 때는 cellfun() 함수를 이용 합니다.
위 코드에 따른 결과는 다음과 같습니다.
D{1} =
1.0000 0.2500 0 0.2500 1.0000
D{2} =
-1.0000 -0.1250 1.0000 3.1250 7.0000
D{3} =
-0.8415 -0.4794 0 0.4794 0.8415
마지막으로 function handle 을 두 번 이용해서 다음 수식을 표현해 보겠습니다.
적분은 quad() 함수를 이용하겠습니다.
quad() 함수의 사용 방법에 대해서는 아래 포스팅을 참조 하시기 바랍니다.
@ 을 두 번 써서 위 식을 표현 할 수 있습니다.
f = @(a,b) (quad(@(x) (x.^2 + b*x + 4), 0, a))
임의의 a, b 값에 대해 다음과 같은 결과가 나오는 것을 확인 할 수 있습니다.
>> f(1,2)
ans =
5.3333
>> f(4,0)
ans =
37.3333
'programming language > MATLAB' 카테고리의 다른 글
MATLAB 연립 방정식 해 구하기, least square solution (967) | 2011.05.08 |
---|---|
MATLAB Poisson (포아송) r.v. generation (0) | 2011.05.05 |
MATLAB central limit theorem simulation (2) | 2011.05.05 |
MATLAB symbolic math toolbox 를 이용한 합성 함수, 역함수 (0) | 2011.04.29 |
MATLAB ordinary differential equation , ode45 (10) | 2011.04.24 |
MATLAB nargin, nargout (6) | 2011.04.24 |
MATLAB laplace, inverse laplace transform (0) | 2011.04.24 |
MATLAB 변수를 저장 하자~ mat file (0) | 2011.04.21 |
댓글