Info
이 질문은 마감되었습니다. 편집하거나 답변을 올리려면 질문을 다시 여십시오.
How to use a math function as an input in a written function?
조회 수: 3 (최근 30일)
이전 댓글 표시
I have written a function and am trying to call it using x*sin(x) as an input variable. Of course x must be defined so I use @(x) x*sin(x) but this triggers an error Unexpected matlab operator. How do I use this as an input variable correctly?
important things:
function[x,u]=finite_difference_laplace(func,a,b,N,u_a,u_b)
h=(b-a)/(N-1);
x=a:h:b;
A=zeros(N-2,N-2);
A(1,1)=-2;A(1,2)=1;A(N-2,N-2)=-2;A(N-2,N-3)=1;
for i=2:1:N-3
A(i,i-1)=1;
A(i,i+1)=1;
A(i,i)=-2;
end
b=h.^2*[func(x(2))-u_a,func(x(3:N-2)),func(x(N-1))-u_b];
uu=A\b;
u=[u_a;uu;u_b];
>> finite_difference_laplace(@(x) x*sin(x),0,10,7,0,1)
|
Error: Unexpected MATLAB operator.
댓글 수: 5
Adam
2014년 9월 23일
which finite_difference_laplace
will tell you if it is on your path (if it isn't it will say not found), but I think you would get a different error message anyway if the function is not on your path.
If you go to 'Set Path' (I can't remember where it is in R2012a - does that version have the ribbon stuff at the top?) you can see your full path and click 'Save' to ensure that something you add to your path in one session remains on your path in the next session. I would advise using the 'Move to Bottom' option on your added folders, but that is just my preference as I have had some odd conflicts caused by having my own folders above the Matlab main folders in the past.
답변 (2개)
Titus Edelhofer
2014년 9월 23일
Just to be sure: your MATLAB version is not R12 or R13 from before 2003? In R14 anonymous functions were introduced ...
Titus
댓글 수: 4
John D'Errico
2014년 9월 23일
편집: John D'Errico
2014년 9월 23일
2012a is recent enough to have function handles like this, but the unexpected operator message indicates an older release to be the most likely cause.
Iain
2014년 9월 23일
I would have said that the error message was most likely to indicate user error (most likely to be a typo.)
이 질문은 마감되었습니다.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!