数值实验(word2003版)教材

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验2.3 迭代的加速方法

实验目的:

对线性方法(或不收敛的方法)进行加速,考察Steffensen 迭代法、Aitken 迭代法的加速效果。

实验内容:

求解方程

,适当选取初值,采用如下迭代格式:

(1) 8.03

1-=+k k x x .

(2) .

(3) 由格式(2)得到的Steffensen 迭代法。 (4) 牛顿迭代法。

实验要求:

(1) 对4种迭代格式编程计算,并比较计算的结果(包括收敛速度)。 (2) 对前两种迭代格式产生的迭代数列,分别用Aitken 迭代法进行

加速,并与原来的结果进行比较。

算法:

(一) 功能:用迭代公式

求方程

的根;

形参:迭代函数g ,初值,精度e; 条件:对初值迭代收敛.

结果:返回方程的根,相邻两次近似值相差不超过e. 说明:①函数abs表示,即

②若迭代对某范围内任一初值都收敛,则可取消形参,而由程序选取。若对初值迭代格式未必收敛,则有下面算法。

迭代结果:

x=fun1(inline('sqrt(x.^2-0.8)'),0.5,1e-5)

Warning: 已达迭代次数上限

In fun1 at 15

k=500

x = 0 +19.9937i

(二)功能:用迭代公式求方程的根;

形参:迭代函数g,初值,精度e,最大迭代次数m;

说明:①用逻辑变量L表示迭代成功或失败,若迭代成功,则x为根的近似值,否则x没有意义。

②迭代的最大次数可为形参,也可由算法选定。

③迭代失败并不说明迭代发散,只表示迭代制定次数未达到精

度要求。

④若迭代格式收敛较慢,精度要求高,则因适当取较大的m。

迭代结果:

x=fun1(inline('(x.^2-0.8).^(1/3.0)'),0.5,1e-5)

k=22

x =0.8442 + 0.6705i

(三)S teffensen迭代

功能:用Steffensen迭代法求方程的根;

条件:迭代每一步,公式中的分母非零,迭代收敛;

形参:迭代函数g,初值,精度e;

结果:返回方程的根,相邻两次近似值相差不超过e. 说明:①x^2表示;

②迭代初值可由程序确定或由形参传入;

③若迭代可能发散,则可对此算法做适当修改。

迭代结果:

(2)x=XCSteffensen(inline('(x.^2-0.8).^(1/3.0)'),0.

5,1e-5,500)

k=3

Warning: Imaginary parts of complex X and/or Y arguments ignored.

> In XCaitken at 22

x = 0.8442 + 0.6705i

(四)Newton迭代

功能:用Newton迭代求解方程的根;

形参:函数,倒数,初值,根x,精度e,最大迭代次数m 结果:返回迭代是否成功,若迭代成功,则x返回方程的一个根。

说明:①形参f和f1可和为一个形g,;

形参可合并为一个形参。

format long

fun=inline('x.^3-x.^2-0.8');

dfun=inline('3*x.^2-2*x');

x=XCnewton(fun,dfun,1.0,1e-5,500)

k=5

x = 1.40516702210213

(五)Aitken迭代

功能:用Aitken迭代法求方程的根;

条件:迭代每一步,公式中的分母非零,迭代收敛;

形参:迭代函数g,初值,精度e;

结果:返回方程的根,相邻两次近似值相差不超过e.

(1)x=XCaitken(inline('sqrt(x.^2-0.8)'),0.5,1e-5,500) Warning: Divide by zero.

> In XCAitken at 14

Warning: 已达迭代次数上限

> In XCAitken at 20

k=500

Warning: Imaginary parts of complex X and/or Y arguments ignored.

> In XCAitken at 22

x = NaN + NaNi

(2)

x=XCaitken(inline('(x.^2-0.8).^(1/3.0)'),0.5,1e-15,500) k=20

x=1.40516702210234

1.3

1.32

1.34

1.36

1.38

1.4

1.42

实验3.2 方程组的性态和条件数实验

实验目的;

理解条件数的意义和方程组的性态对解向量的影响。

实验内容:

已知两个方程组和,其中

, ,

实验要求:

对,取下面均用Matlab函数“”计算方程组的解。

(1)取n=4,6,8,分别求出的条件数,判别它们是否是病态

阵?岁n的增大,矩阵的性态变化如何?

(2)取n=5,分别求出两个方程组的解向量.

(3)取n=5,b不变,对的元素分别加一个扰动,分别求出第一个方程组的解向量;若不变,对b的元

素加一个扰动,求出

(4)取n=6,b不变,对的元素分别加一个扰动,分

相关文档
最新文档