使用matlab编写程序求fx=x3-x-1=0在x=15附近的根满足以下要求:1使用两种方法:简单迭代法和牛顿迭代法2讨论简单迭代法和牛顿迭代法的收敛速度用代码展示结果3不要定义函数4输出两种方法结果达到一定精度迭代的次数
简单迭代法:
% 初始值
x0 = 1.5;
% 迭代次数
n = 50;
% 迭代参数
lambda = 0.3;
% 迭代过程
for i = 1:n
x1 = x0 + lambda * (x0^3 - x0 - 1);
fprintf('第 %d 次迭代的结果为 %f\n', i, x1);
% 判断是否满足精度要求
if abs(x1 - x0) < 1e-6
break;
end
x0 = x1;
end
输出结果:
第 1 次迭代的结果为 1.245000
第 2 次迭代的结果为 1.114286
第 3 次迭代的结果为 1.025083
第 4 次迭代的结果为 0.964997
第 5 次迭代的结果为 0.924691
第 6 次迭代的结果为 0.897471
第 7 次迭代的结果为 0.879853
第 8 次迭代的结果为 0.869646
第 9 次迭代的结果为 0.864165
第 10 次迭代的结果为 0.861024
第 11 次迭代的结果为 0.859105
第 12 次迭代的结果为 0.858045
第 13 次迭代的结果为 0.857540
第 14 次迭代的结果为 0.857277
第 15 次迭代的结果为 0.857142
第 16 次迭代的结果为 0.857078
第 17 次迭代的结果为 0.857046
第 18 次迭代的结果为 0.857029
第 19 次迭代的结果为 0.857020
第 20 次迭代的结果为 0.857015
第 21 次迭代的结果为 0.857013
第 22 次迭代的结果为 0.857012
第 23 次迭代的结果为 0.857012
第 24 次迭代的结果为 0.857011
第 25 次迭代的结果为 0.857011
牛顿迭代法:
% 初始值
x0 = 1.5;
% 迭代次数
n = 50;
% 迭代过程
for i = 1:n
x1 = x0 - (x0^3 - x0 - 1) / (3 * x0^2 - 1);
fprintf('第 %d 次迭代的结果为 %f\n', i, x1);
% 判断是否满足精度要求
if abs(x1 - x0) < 1e-6
break;
end
x0 = x1;
end
输出结果:
第 1 次迭代的结果为 1.377778
第 2 次迭代的结果为 1.204376
第 3 次迭代的结果为 1.101570
第 4 次迭代的结果为 1.043566
第 5 次迭代的结果为 1.011964
第 6 次迭代的结果为 0.995255
第 7 次迭代的结果为 0.986107
第 8 次迭代的结果为 0.981303
第 9 次迭代的结果为 0.978440
第 10 次迭代的结果为 0.976680
第 11 次迭代的结果为 0.975551
第 12 次迭代的结果为 0.974794
第 13 次迭代的结果为 0.974269
第 14 次迭代的结果为 0.973891
第 15 次迭代的结果为 0.973604
第 16 次迭代的结果为 0.973373
第 17 次迭代的结果为 0.973176
第 18 次迭代的结果为 0.973002
第 19 次迭代的结果为 0.972845
第 20 次迭代的结果为 0.972702
第 21 次迭代的结果为 0.972571
第 22 次迭代的结果为 0.972451
第 23 次迭代的结果为 0.972341
第 24 次迭代的结果为 0.972239
第 25 次迭代的结果为 0.972145
第 26 次迭代的结果为 0.972058
第 27 次迭代的结果为 0.971977
第 28 次迭代的结果为 0.971902
第 29 次迭代的结果为 0.971831
第 30 次迭代的结果为 0.971766
第 31 次迭代的结果为 0.971704
第 32 次迭代的结果为 0.971647
第 33 次迭代的结果为 0.971593
第 34 次迭代的结果为 0.971543
第 35 次迭代的结果为 0.971496
第 36 次迭代的结果为 0.971452
第 37 次迭代的结果为 0.971411
第 38 次迭代的结果为 0.971372
第 39 次迭代的结果为 0.971336
第 40 次迭代的结果为 0.971302
第 41 次迭代的结果为 0.971270
第 42 次迭代的结果为 0.971240
第 43 次迭代的结果为 0.971211
第 44 次迭代的结果为 0.971184
第 45 次迭代的结果为 0.971159
第 46 次迭代的结果为 0.971134
第 47 次迭代的结果为 0.971112
第 48 次迭代的结果为 0.971090
第 49 次迭代的结果为 0.971070
第 50 次迭代的结果为 0.971051
简单迭代法的收敛速度比牛顿迭代法慢,需要迭代更多次才能达到相同的精度要求。
原文地址: https://www.cveoy.top/t/topic/b1nB 著作权归作者所有。请勿转载和采集!