|
为什么这个程序直接点击运行没事,但是选中之后执行就显示未定义f未定义呢?
clc;
clear;
br>tol=0.00000001;
a=-1;
b=2;
ya=feval(@f,a);
yb=feval(@f,b);
max=round((log(b-a)-log(tol))/log(2));
if ya*yb>0
fprintf("二分法不适用") ;
else
for k=1:max
c=(a+b)/2;
yc=feval(@f,c);
ac=c-a;
if yc==0
b=c;
a=c;
elseif yc*yb>0
b=c;
else
a=c;
end
err(k)=b-a;
if err(k)<tol
break
end
end
fprintf("结果为:%f",(a+b)/2);
end
function [y]=f(x)
y=sin(x);
end |
|