erfenfa.m

来自「牛顿迭代法」· M 代码 · 共 26 行

M
26
字号
function [x,k]=erfenfa(f, a, b, ep)
% 求解非线性方程的二分法,其中
%   f(x) --- 需要求根的函数
%   x --- 方程的根
%   a,b  --- 初始区间的端点。
%   ep --- 精度要求。
%   biaozhi --- 反映迭代结果。
%   k --- 迭代次数。
format long
if nargin <4  ep=1e-5;  end
fa=feval(f,a); fb=feval(f,b);
if fa*fb>0
    biaozhi='初值选取不合适'
    return;
end
k=1;
while abs(b-a)/2>=ep
    x=(a+b)/2; fx=feval(f,x);
    fa=feval(f,a);fb=feval(f,b);
    if fx*fa<0
        b=x; fb=fx;
    else
        a=x; fa=fx;
    end
    k=k+1;
end

⌨️ 快捷键说明

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