bisection.m

来自「本文件提供了几个数值分析中的Matlab小程序。水平有限」· M 代码 · 共 21 行

M
21
字号
function [x,n]=bisection(F,a,b,e)  %  二分法求根
fa=feval(F,a); fb=feval(F,b);%  compute F(a),%  compute F(b)
if fa*fb>0 
    x=NaN;
    n=-1;break
end
x=(a+b)/2;n=0;
fx=feval(F,x);%  compute F(x)
x0=a;
while abs(x-x0)>e&fx~=0
         x0=x; 
        if fx*fa<0
        b=x0;
       else
        a=x0;
        fa=fx;
       end
       x=(a+b)/2;
       fx=feval(F,x);n=n+1;
     end
%[x,n]=bisection('f',1,1.5,10^-5)

⌨️ 快捷键说明

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