目录
案例:给定方程 ,用二分法、 牛顿迭代法、 牛顿割线法、史蒂芬森迭代法求该方程的根。
1.理论铺垫
(说明:由于本文公式偏多,在线编辑效率不高,所以理论部分以截图形式呈现,并附以word资源)
1.1 二分法
1.2 牛顿迭代法
1.3 牛顿割线法
1.4 史蒂芬森迭代法
1.5 确定有根区间
2.MATLAB代码
2.1 主函数
% @brief 用二分法、牛顿迭代法、割线法、史蒂芬森迭代法解方程f(x)=x^3-3*x-1=0
% @author SLF 2019/12/25
% @notice 若要使用此代码,请注明来源!
EPS = 1e-10; % 精度
N_MAX = 14; % 最大迭代次数
X = [0,0,0]; % 存储三个实根
dy0x1 = -1.0; % 原函数一阶导为0时的自变量取值 左
dy0x2 = 1.0; % 右
a = 0.0; % 有根区间左端点
b = 0.0; % 有根区间右端点
% 用牛顿迭代法求 x 在 -1.1、0和1.1 附近的实根
sec = NewtonIterAlgorithm(dy0x1-0.1,EPS,N_MAX);
X(1) = sec(sec(1)+1); % 左边实根
sec = NewtonIterAlgorithm((dy0x1+dy0x2)/2,EPS,N_MAX);
X(2) = sec(sec(1)+1); % 中间实根
sec = NewtonIter