Matlab 简单迭代法求解方程 x = (sinx)^3/5 + 1 近似根
以下是基于 Matlab 编程的简单迭代法求解方程 x = (sinx)^3/5 + 1 的代码:
% 设置初始值
x0 = 1; % 初始近似根
xk = x0; % 迭代根
x_prev = xk; % 上一次迭代的根
delta = 1e-8; % 迭代精度
i = 0; % 迭代次数
while true
i = i + 1; % 迭代次数加一
% 迭代公式
xk = (sin(xk))^3/5 + 1;
% 判断是否满足迭代精度要求
if abs(xk - x_prev) < delta
break;
end
% 保存当前迭代根作为上一次迭代的根
x_prev = xk;
end
% 输出结果
disp(['满足要求的xk值:', num2str(xk)]);
disp(['迭代次数i:', num2str(i)]);
代码注释:
-
设置初始值:初始近似根 x0 为 1,迭代根 xk 初始值为 x0,上一次迭代的根 x_prev 初始值为 xk,迭代精度 delta 设为 10^(-8),迭代次数 i 初始值为 0。
-
迭代过程:在 while 循环中,每次迭代次数 i 加一,根据迭代公式 xk = (sin(xk))^3/5 + 1 进行迭代计算。
-
判断迭代精度:判断当前迭代根 xk 与上一次迭代的根 x_prev 的差是否小于迭代精度 delta,如果满足要求则跳出 while 循环。
-
更新迭代根:将当前迭代根 xk 保存为上一次迭代的根 x_prev,进入下一次迭代。
-
输出结果:输出满足要求的迭代根 xk 和迭代次数 i。
原文地址: https://www.cveoy.top/t/topic/phYP 著作权归作者所有。请勿转载和采集!