迭代格式的对比_第1页
迭代格式的对比_第2页
迭代格式的对比_第3页
迭代格式的对比_第4页
迭代格式的对比_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——迭代格式的对比课题一迭代格式的比较

一、问题提出

设方程f(x)=x-3x–1=0有三个实根x*1=1.8793,x*2=0.34727,x*3=-1.53209现采用下面六种不同计算格式,求f(x)=0的根x*1或x*21.x?3x?1x22.x?x3?13

3.x?33x?14.x?1x2?35.x?3?1x6.x?x?1?x3?3x?1?3????x2?1??二、要求

1、编制一个程序进行运算,最终打印出每种迭代格式的敛散状况;

2、用事后误差估计xk?1?xk??来控制迭代次数,并且打印出迭代的次数;3、初始值的选取对迭代收敛有何影响;4、分析迭代收敛和发散的原因。

三、目的和意义

1、通过试验进一步了解方程求根的算法;2、认识选择计算格式的重要性;3、把握迭代算法和精度控制;4、明确迭代收敛性与初值选取的关系。

1

1.六种不同计算格式运行程序及运算结果

1.1运行程序

(1)x?3x?1x2functioniteration_1

x0=input('输入初始值x0=');k=input('输入迭代次数k=');x(1)=x0;i=1;

whilei>iteration

输入初始值x0=输入迭代次数k=

(1)

>>iteration_1

输入初始值x0=1输入迭代次数k=5

计算格式(1)最终运行结果如下:

x=1.00004.00000.81255.20710.61307.5549由此知,计算格式(1)发散。

(2)

>>iteration_2

输入初始值x0=1输入迭代次数k=5

计算格式(2)最终运行结果如下:

x=1.00000-0.3333-0.3457-0.3471-0.3473由此知,计算格式(2)收敛。

(3)

>>iteration_3

输入初始值x0=1输入迭代次数k=8

计算格式(2)最终运行结果如下:

x=1.00001.58741.79281.85451.87231.87741.8788由此知,计算格式(3)收敛。

(4)

>>iteration_4

输入初始值x0=1输入迭代次数k=5

计算格式(2)最终运行结果如下:

x=1.0000-0.5000-0.3636-0.3487-0.3474-0.3473

1.87934

1.8792由此知,计算格式(4)收敛。(5)

>>iteration_5

输入初始值x0=1输入迭代次数k=8

计算格式(5)最终运行结果如下:

x=1.00002.00001.87081.88001.87931.87941.87941.87941.8794由此知,计算格式(5)收敛。

(6)

>>iteration_6

输入初始值x0=2输入迭代次数k=5

计算格式(6)最终运行结果如下:

x=2.00001.88891.87951.87941.87941.8794

2.matlab事后误差估计控制迭代次数,程序如下

(①注:此程序只能够在迭代式收敛的状况下有意义;

②假使要采用不同的计算格式,只要将matlab程序的子函数中的迭代式修改即可。)function[k,control,xk]=iteration%k为输出的迭代次数

%control为控制条件,使循环终止%xk为迭代方程的一个根

%此函数只能够在迭代式收敛的状况下有意义N=input('输入最大迭代次数N=');x(1)=input('输入初始值x0=');m=input('输入控制误差m=');fori=1:N

x(i+1)=fun(x(i))

control=abs(x(i+1)-x(i));[(i-1)controlx(i)]if(control>[kcontrolxk]=iteration

5

输入最大迭代次数N=30输入初始值x0=1

输入控制误差m=0.0000005运行输出结果为:

x=1.00001.58741.79281.85451.87231.87741.87881.8792

1.87931.87941.87941.87941.87941.8794k=13

control=2.0924e-007xk=1.8794

有输出结果可以看出,方程的一个根为1.8794,迭代了13次,并且最终一次的偏差为2.0924e-007。

3.初始值的选取对迭代收敛有何影响?

假使函数在C[a,b]满足不动点的两个条件,那么对于任意的x0∈[a,b],得到的迭代序列{xk}收敛到函数的不动点。在此状况下,初始值的选取对迭代收敛没有任何影响,只是影响迭代收敛的速度和到达误差的精度要求的次数。

4.分析迭代收敛和发散的原因。

f(x)=0改写成等价的形式x=?(x),迭代法是一种逐次迫近法,其基本思想是将隐式方程=?(x)归结为一组显式的计算公式,就是说迭代工程实质上是一个逐步显化的过程。当迭代下去不能趋于某个极值,这种现象成为发散。如下图,图1为收敛的状况,图2为发散的状况。

图1

图2

6

输入最大迭代次数N=30输入初始值x0=1

输入控制误差m=0.0000005运行输出结果为:

x=1.00001.58741.79281.85451.87231.87741.87881.8792

1.87931.87941.87941.87941.87941.8794k=13

control=2.0924e-007xk=1.8794

有输出结果可以看出,方程的一个根为1.8794,迭代了13次,并且最终一次的偏差为2.0924e-007。

3.初始值的选取对迭代收敛有何影响?

假使函数在C[a,b]满足不动点的两个条件,那么对于任意的x0∈[a,b],得到的迭代序列{xk}收敛到函数的不动点。在此状况下,初始值的选取对迭代收敛没有任何影响,只是影响迭代收敛的速度和到达误差的精度要求的次数。

4.分析迭代收敛和发散的原因。

f(x)=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论