1 / 15

数 学 实 验

数 学 实 验. 实验十六 迭代式与不动点. 兰州城市学院数学系. 实验十六 迭代式与不动点. 【 实验目的 】 1. 了解迭代的基本概念。 2. 了解不动点的基本概念。 学习、掌握 MATLAB 软件有关的命令。. 实验十六 迭代式与不动点. 【 实验内容 】 计算数列 的极限。 【 实验准备 】 1. 迭代的基本概念 2. 不动点的基本概念 3. 压缩映像原理 4. 迭代的 MATLAB 命令 MATLAB 中主要用 for,while 等控制流命令实现迭代。.

asabi
Télécharger la présentation

数 学 实 验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数 学 实 验 实验十六 迭代式与不动点 兰州城市学院数学系

  2. 实验十六 迭代式与不动点 【实验目的】 1.了解迭代的基本概念。 2.了解不动点的基本概念。 学习、掌握MATLAB软件有关的命令。

  3. 实验十六 迭代式与不动点 【实验内容】 计算数列 的极限。 【实验准备】 1.迭代的基本概念 2.不动点的基本概念 3.压缩映像原理 4.迭代的MATLAB命令 MATLAB中主要用for,while等控制流命令实现迭代。

  4. 实验十六 迭代式与不动点 练习1计算数列 的极限。可用for语句,for循环允许一组命令以固定的或预定的次数循环。for循环的一般形式为 • for x=表达式1:表达式2:表达式3 • 语句体 • end 其中表达式1的值为循环的初值,表达式2的值为步长,表达式3的值为循环的终值。如果表达式2省略,则默认为1。

  5. 实验十六 迭代式与不动点 本练习中,相应的MATLAB代码为 >>clear; >>x=3 >>for i=1:10 >>x=sqrt(x) >>end 可算得迭代数列的前10项:7321,1.3161,1.1472,1.0711,1.0349,1.0173,1.0086,1.0043,1.0021,1.0011 可见此数列的极限为1。

  6. 实验十六 迭代式与不动点 本练习也可用while语句,while循环一般用于事先不能确定循环的情况。while 循环的一般形式为 • while表达式 • 语句体 • end 只要表达式的值为1(真),就执行while 与end之间的语句体,直到表达式的值为0(假)时终止该循环。通常,表达式的值为标量,但对数组值也同样有效,当数组的所有元素都为真时,才执行while和end之间的语句体。

  7. 实验十六 迭代式与不动点 本练习中,相应的MATLAB代码为 >>n=0; eps=1.0e-5; x=3; >>while abs(x-sqrt(x))>eps >>x=sqrt(x); n=n+1 >>end >>x, n 结果为x=1.0000,n=16。这说明迭代到第16次后,数列的前后两项之间的误差小于 ,数列收敛到1。

  8. 实验十六 迭代式与不动点 练习2利用迭代法求解方程 。 先画出函数 的图形,观察函数 的图形可以看出,在区间[1,2]方程有唯一正根。 迭代格式1 方程变形为,先用for语句,初值设为1.5,相应的MATLAB代码为

  9. 实验十六 迭代式与不动点 >>clear; >>x=1.5; >>for i=1:10; >>x=(x+1)^(1/3); >>end 可算得迭代数列的前10项: 1.3572,1.3309,1.3259,1.3249,1.3248,1.3247,1.3247,1.3247,1.3247,1.3247

  10. 实验十六 迭代式与不动点 可见迭代格式收敛,方程的根约为1.3247。进一步,如果要控制计算误差,比如要使得计算误差小于 ,可用while语句,相应的MATLAB代码为: >>n=0;eps=1.0e-5;x=1.5; >>while abs (x-(x+1)^(1/3))>eps >>x=(x+1)^(1/3);n=n+1; >>end >>x,n

  11. 实验十六 迭代式与不动点 计算结果为x=1.3247,n=6,说明只需进行6次迭代,就可达到所要求精度。

  12. 实验十六 迭代式与不动点 迭代格式2 方程变形为 ,用for语句,初值设为1.5,相应的MATLAB代码为 >>clear; >>x=1.5; >>for i=1:10; >>x=(x+1)/x^2 >>end 可算得迭代数列的前10项: 1.111,1.7100,0.9268,2.2433,0.6445,3.9590,0.3164,13.1504,0.0818,161.5755 可见迭代格式是不收敛的。

  13. 实验十六 迭代式与不动点 迭代格式3 方程变形为 ,用for语句,初值设为1.5, 相应的MATLAB代码为 >>clear; >>x=1.5; >>for i=1:10 >>x=1/(x^2-1) >>end 可算得迭代数列的前10项: 0.8000,-2.7778,0.1489,-1.0227,21.8055,0.0021,-1.0000,1.1256e+005,7.8922e-011,-1 可见此迭代格式也是不收敛的。

  14. 实验十六 迭代式与不动点 例子表明,迭代格式是否收敛的关键是迭代函数的选取。迭代函数选取恰当,迭代过程会迅速地收敛到不动点,否则,若迭代函数选择不当,收敛速度可能很慢,甚至导致迭代发散。

  15. 【练习与思考】 【练习与思考】 1.用 构造线性迭代数列 (1)在什么条件下,迭代对任意初值都收敛? (2)影响收敛性的主要因素是什么?它与 的一阶导数有什么关系? (3)收敛速度的快慢由什么量决定?

More Related