what's wrong here? I have copied this code from my textbook and it's not working

Help me here plz:
------------------------------------------------
function xb=insearch(func,xmin,xmax,ns)
if nargin <4;
ns=50;
end
x=linspace(xmin,xmax,ns);
f=func(x);
nb=0;
xb=[];
for k=1:length(x)-1;
if sign (f(k))~=sign(f(k+1))
nb=nb+1;
xb(nb,1)=x(k);
xb(nb,2)=x(k+1);
end
end
if isempty(xb)
disp('no brackets found')
disp('check interval or increase ns')
else
disp('number of brackets:')
disp(nb)
end
and In the command window:
insearch (@x sin(10*x)+cos(3*x),xmin,xmax,ns)
and am getting the following error:
Error: Unexpected MATLAB expression.

 채택된 답변

insearch (@(x) sin(10*x)+cos(3*x),xmin,xmax,ns)
notice I changed the @x to @(x)

추가 답변 (1개)

Your problem is here:
insearch (@x sin(10*x)+cos(3*x),min,max,ans)
It is NOT:
@x sin(10*x)+cos(3*x)
It is:
@(x) sin(10*x)+cos(3*x)

카테고리

도움말 센터 및 File Exchange에서 Manage Products에 대해 자세히 알아보기

태그

질문:

B
B
2015년 5월 5일

댓글:

B
B
2015년 5월 5일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by