2014-04-17 2 views
1

I는 다음과 같은 코드가에 익명 함수의 입력 인자 작성 : NRK=NRK(function , numeric scalar)Matlab의

s(i+1)=NRK(Dt*f(tv(i+1),x)+s(i)-x,s(i)); 

는 F = 기호 기능, 기호 구현, 그리고 미지의 심볼 배열을 X.

상징적 인 표현으로 작업하면 문제를 해결할 수 있지만 루프 내부로 들어가고 기호 도구는 놀랍게도 100 배의 비율로 성능을 저하시킵니다! 그러나 익명의 함수는 완벽하게 작동합니다.

[email protected]([arguments (i.e. a, b, c, ...])Dt*f(t(i+1),[arguments (i.e. a, b, c,...])+s(i)-[a b c ...]; 
s(i+1)=NRK(@h,s(i)); 

가 어떻게 이러한 인수를 작성할 수 있습니다

내 시도는이 다음이었다? 가능한가?

당신은 괄호를 지정할 수 있습니다

답변

0

:

h = @(a, b, c) Dt*f(t(ii+1), a, b, c) + s(ii); 

그런 다음

s(ii+1) = NRK(h, s(ii)); 

일부 발언 호출
을 - 당신은 NRKh를 제공 할 때 추가 @ 작성할 필요가 없습니다, 이후 h은 이미 함수 핸들로 정의되어 있습니다.
- 가장 좋음은 not to use i as a variable name in Matlab입니다.