计算方法实验报告2_第1页
计算方法实验报告2_第2页
计算方法实验报告2_第3页
计算方法实验报告2_第4页
计算方法实验报告2_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

计算方法实验报告(四)方程和方程组的迭代解法一、实验问题利用简单迭代法,两种加速技术,牛顿法,改进牛顿法,弦割法求解习题 5-1,5-2,5-3 中的一题,并尽可能准确。选取 5-3:求 在 x=1.5附近的根。321=0二、问题的分析(描述算法的步骤等)(1)简单迭代法算法:给定初始近似值 ,求 的解。0 =()Step 1 令 i=0;Step 2 令 (计算 );+1=() +1Step 3 如果 ,则迭代终止,否则重复 Step 2。+1=(2)Aitken 加速法算法Step 1 令 k=0,利用简单迭代算法 得到迭代序列 ;+1=() Step 2 令 - (计算 ,其中 k=0,1,2);= (1)221+2 得到一个新的序列 Step 3 如果 ,则迭代终止,否则重复 Step 2。+1=(3)插值加速法算法Step 1 令 k=0,利用简单迭代算法 得到迭代序列 ;+1=() Step 2 令 + (计算 ,其中=(1)(+1)12+1 得到一个新的序列 k=1,2,3);Step 3 如果 ,则迭代终止,否则重复 Step 2。+1=(4)牛顿法算法Step 1给定初始近似值 ;0Step 2令 ,其中 k ;+1=()() ,计 算得到 的 序列Step 3如果 ,则迭代终止,否则重复 Step 2。+1=(5)改进牛顿法的算法Step 1给定初始近似值 ;0Step 2令 ,其中 k+1= 2()()+()2()2“()() ;,迭代 计 算得到 的 序列Step 3如果 ,则迭代终止,否则重复 Step 2。+1=(6)弦割法算法(双点弦割法)Step 1给定初始近似值 ;0, 1Step 2令 其中 k ;+1=()(1)()(1) ,计 算得到 的 序列Step 3如果 ,则迭代终止,否则重复 Step 2。+1=三、程序设计(1)简单迭代法利用迭代公式 进行迭代运算。=31+2#include #include #includedouble fun(double x)double c=1+x*x;return pow(c,1/3.0);void main()double x=1.5;double y=0;double D=1;double e=0.001;while(De)D=0;y=fun(x);if(fabs(y-x)=D)D=fabs(y-x);x=y;cout#include double fun(double x)double a=2*pow(x,3.0)-pow(x,2.0)+1;double b=3*pow(x,2.0)-2*x;return a/b;void main()double x=1.5;double y=0;double D=1;double e=0.001;double f=0;while(De)D=0;y=fun(x);if(fabs(y-x)=D)D=fabs(y-x);x=y;f+;cout#include double fun(double x)double a=2*pow(x,3.0)-pow(x,2.0)+1;double b=3*pow(x,2.0)-2*x;double c=pow(pow(x,3.0)-pow(x,2.0)-1),2.0);double d=(6*x-2)/12;return a/b-c*d;void main()double x=1.5;double y=0;double D=1;double e=0.001;double f=0;while(De)D=0;y=fun(x);if(fabs(y-x)=D)D=fabs(y-x);x=y;f+;coutusing namespace std;#include double fua(double l)return pow(l,3.0)-pow(l,2.0)-1;int _tmain(int argc, _TCHAR* argv)double x=1.4;double y=0;double D=1;double e=0.001;double f=0;while(De)D=0;y=x-fua(x)*(x-1.5)/(fua(x)-0.125);if(fabs(y-x)=D)D=fabs(y-x);x=y;f+;cout则 令 |(4) 对 i=1令 (5) 若 D则转 到( 2)(6) 输出 (=1)并停止 计 算赛德尔迭代法算法如下( 1) 对 =1 令 0( 2)令 0(3) 对 =1做令 =对 =1但 令 令 /若 |则 令 |令 (4)若 D则转 到( 2)(5)输出 (=1)并停止 计 算二、 程序设计(1)运用雅可比迭代法进行迭代:代码如下:#include #include void main()double x3=0,0,0;double a33=-8,1,1,1,-5,1,1,1,-4;double b3=1,16,7;double y3;double e=0.04;double D=1;int f=0;while(De)D=0;for(int c=0;c=D)D=fabs(xi-yi);for(int l=0;l#include #includevoid main()double x3=0,0,0;double a33=-8,1,1,1,-5,1,1,1,-4;double b3=1,16,7;double y;double e=0.0001;double D=1;double f=0;while(De)D=0;for(int c=0;c=D)D=fabs(xi-y);for(int l=0;l3;l+)xl=yl;f+;for(int k=0;k3;k+)coutxkendl;coutfendl;三、 计算结果(1)雅克比迭代法运行结果如下:(2)赛德尔迭代法运行结果如下:五、结果分析通过观察运行结果很容易发现使用赛德尔迭代法求解此线性方程组具有明显的优势,它的迭代次数明显少于雅克比迭代法,因此收敛速度更快。六、实验的总结与体会在求解线性方程组的时候除了

温馨提示

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

评论

0/150

提交评论