⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bisect.m

📁 余向阳博士Matlab教程的源代码。 包括:1.非线性方程的解法;2.线性方程的数值解法;3插值法;4.常微分方程的解法
💻 M
字号:
function [c,err,yc]=bisect(f1031,a,b,delta)
%  f是所要求解的函数。
%  a和b分别为有根区间的左右限。
%  delta是允许的误差界。
%  c为所求近似解。
%  yc为函数f在c上的值。
%  err是c的误差估计。
ya=feval('f1031',a);
yb=feval('f1031',b);
if  yb==0
     c=b;
     break,
end

if ya*yb>0
    disp('(a,b)不是有根区间');
    return
end
max1=1+round((log(b-a)-log(delta))/log(2));
for k=1:max1
   c=(a+b)/2;
   yc=feval('f1031',c);
   if yc==0
             a=c;
         b=c;
             return
     elseif yb*yc>0
             b=c;
             yb=yc;
          else
             a=c;
             ya=yc;
          end
          if (b-a)<delta,
              return
          end
end
k;
c=(a+b)/2;
err=abs(b-a);
yc=feval('f1031',c);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -