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 + -
显示快捷键?