帮忙看看matlab二分法程序哪里出错了?
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/08/11 17:47:32
帮忙看看matlab二分法程序哪里出错了?
报错是:Error in erfenfa (line 6)
ya=f(a);
Output argument "c" (and maybe others) not assigned during call to "D:\Program
Files\MATLAB\R2011b\bin\erfenfa.m>erfenfa".
function [c,delta]=erfenfa(f,a,b,error)
%function [c,delta]=erfenfa(f,a,b,error)
%a,b是求根区间左右端点,要求a0
disp('请重新选择求根区间')
return
end
max1=1+round(log(b-a)-log(error)/log(2));
for k=1:max1
c=(a+b)/2;
yc=feval(f,c);
if yc==0
a=c;
b=c;
else
if yb*yc>0
b=c;
yb=yc;
else
a=c;
ya=yc;
end
if b-a
报错是:Error in erfenfa (line 6)
ya=f(a);
Output argument "c" (and maybe others) not assigned during call to "D:\Program
Files\MATLAB\R2011b\bin\erfenfa.m>erfenfa".
function [c,delta]=erfenfa(f,a,b,error)
%function [c,delta]=erfenfa(f,a,b,error)
%a,b是求根区间左右端点,要求a0
disp('请重新选择求根区间')
return
end
max1=1+round(log(b-a)-log(error)/log(2));
for k=1:max1
c=(a+b)/2;
yc=feval(f,c);
if yc==0
a=c;
b=c;
else
if yb*yc>0
b=c;
yb=yc;
else
a=c;
ya=yc;
end
if b-a
![帮忙看看matlab二分法程序哪里出错了?](/uploads/image/z/207052-52-2.jpg?t=%E5%B8%AE%E5%BF%99%E7%9C%8B%E7%9C%8Bmatlab%E4%BA%8C%E5%88%86%E6%B3%95%E7%A8%8B%E5%BA%8F%E5%93%AA%E9%87%8C%E5%87%BA%E9%94%99%E4%BA%86%3F)
% f是要求根的函数,f=inline('','');
ya=f(a)
可能输入的f不能用f(a)求函数值,换成feval(f,a);试试
ya=f(a)
可能输入的f不能用f(a)求函数值,换成feval(f,a);试试