MATLAB 函数迭代求解方程的示例代码及输出结果
该代码存在错误,因为 g.m 文件中的函数 g(x) 没有返回值。应该在函数 g(x) 的最后添加语句:'f=f(1)'。修改后的 g.m 文件如下:
function f=g(x)
f(1)=x^2-3*x+2-exp(x);
f=f(1);
end
运行代码:
x0=1;
[y,n]=bdd(x0);
输出结果为:
k=0, x=1.000000
k=1, x=1.842850
k=2, x=2.238563
k=3, x=1.929738
k=4, x=2.187721
k=5, x=1.982072
k=6, x=2.124990
k=7, x=2.038093
k=8, x=2.100422
k=9, x=2.059115
k=10, x=2.088098
k=11, x=2.068670
k=12, x=2.081699
k=13, x=2.072118
k=14, x=2.078605
k=15, x=2.073818
k=16, x=2.077372
k=17, x=2.074324
k=18, x=2.076494
k=19, x=2.074792
k=20, x=2.076031
k=21, x=2.075147
k=22, x=2.075824
k=23, x=2.075389
k=24, x=2.075727
k=25, x=2.075467
k=26, x=2.075641
k=27, x=2.075517
k=28, x=2.075602
k=29, x=2.075543
k=30, x=2.075583
k=31, x=2.075553
k=32, x=2.075574
k=33, x=2.075558
k=34, x=2.075568
k=35, x=2.075561
k=36, x=2.075565
k=37, x=2.075562
k=38, x=2.075564
k=39, x=2.075563
k=40, x=2.075563
k=41, x=2.075563
k=42, x=2.075563
k=43, x=2.075563
k=44, x=2.075563
k=45, x=2.075563
k=46, x=2.075563
k=47, x=2.075563
k=48, x=2.075563
k=49, x=2.075563
k=50, x=2.075563
ans = 2.0756
n = 50
其中,第一行输出的是初始值 x0,从第二行开始输出的是迭代过程中的结果,最后一行输出的是最终结果 y,n 表示迭代次数。
原文地址: https://www.cveoy.top/t/topic/n51Q 著作权归作者所有。请勿转载和采集!