MATLAB数值分析实验四(雅各比、高斯赛德尔迭代,以及二分法和牛顿迭代解非线性方程) 联系客服

发布时间 : 星期三 文章MATLAB数值分析实验四(雅各比、高斯赛德尔迭代,以及二分法和牛顿迭代解非线性方程)更新完毕开始阅读

%run44.m

clc,clear;

%很容易看出在[0,1]间有解; x = Dichotomy(0,1,10^(-8),50) x = NewIterat(0,10^(-8),50)

五. 讨论分析

4.3

实验中的迭代矩阵在上个部分,分别为J和G;

对于收敛性,看下图中的f1,f2,也就是迭代矩阵的谱半径,都是小于1的,但是可以看出后者的谱半径更小,就是说它的收敛速度更快;

最终求x的值,每种迭代方法分别迭代50次(第一列)和100次(第二列); 实际值为[1;1;1]可以看出用高斯赛德尔迭代更精确,速度更快。 4.4

结果如图所示,后面对run44.m进行了小改动,改变精度为long后结果如下:

而真实的结果为:

可见后者的精度更高。

再对源程序进行稍微改动后,可以得到达到所需精度的迭代次数,分别为: 二分法: i=14; 牛顿迭代:i=26;

此时二分法迭代次数更好,但是当用牛顿迭代选取x0=1作初始值时,仅仅需要i=6次便可达

到所需精度,所以牛顿迭代法对于初始点的选取有较强的依赖性;

六. 改进实验建议

这次实验的内容还是比较丰富的,但是仅仅两个例子,还起不到很好的考察作用,希望能够提升下题目数量。