数值分析第一次实验.doc

数值分析第一次实验.doc

ID:55706610

大小:215.50 KB

页数:19页

时间:2020-05-25

数值分析第一次实验.doc_第1页
数值分析第一次实验.doc_第2页
数值分析第一次实验.doc_第3页
数值分析第一次实验.doc_第4页
数值分析第一次实验.doc_第5页
资源描述:

《数值分析第一次实验.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、学生学号实验课成绩武汉理工大学学生实验报告书实验课程名称:数值分析开课名称:计算机科学与技术学院指导老师姓名:熊盛武学生姓名:学生专业班级:2009——2010学年第一学期一、实习目的:(1)、通过编程计算实践,体会和理解二分法、简单迭代法、Newton迭代法和弦截法的算法思想。(2)、通过编程计算实践,熟练各种算法的计算流程。(3)、通过各种方法对同一问题的求解,体会各种方法的精度差异。(4)、通过编程计算实践,深入领会和掌握迭代算法的改进思路,提高对算法改进技巧的本质的认识以及算法流程的实际控制技术。二、实习步骤和内容:(1)、分别画出二分法,简

2、单迭代法,牛顿迭代法和弦截法的算法流程图。(2)、分别画出二分法和简单迭代法通过编程计算x*x*x-x-1=0在[1,2]内的近似根,要求精度达到0.0001和0.00001,并给出二分法和迭代的次数,分析和比较算法的效率差异,和精度差异,最后与理论估计的二分和迭代次数作比较。(3)、用Aitken算法通过编程计算x*x*x-x-1=0在[1,2]内的近似根,要求精度达到0.0001,并分析算法精度与二分法的结果进行比较。(4)、分别用牛顿迭代法和弦截法通过编程计算x*x*x-x-1=0在[1,2]内的近似根,要求精度达到0.00001,并分析算法及

3、不同方法的计算量。然后将程序应用于以下方程求根(1).x=(2-e^x+x*x)/3(2)3*x*x-e^x=0。分析和比较算法的效率差异:收敛速度和总计算量等之间的关系。三、算法流程图:(1)、二分法计算流程图:b-a>eb=xa=xf(a)f(x)<0i++x=(a+b)/2t=(a+b)/2输出近似根t,循环次数i结束方程x*x*x-x-1=0开始b-a>e求根区间[a,b]循环次数i,i=0否是是否是否(2)、简单迭代法算法流程图:开始定义函数s(t)=t+1方程x*x*x-x-1=0输入迭代初始值x0,控制精度e.迭代次数i,i=0x1=p

4、ow(s(x0),1.0/3.0);否fabs(x1-x0)>e是i++;x1=pow(s(x0),1.0/3.0);x0=x1;x1=pow(s(x0),1.0/3.0);是输出近似根x,迭代次数i结束x=(x1+x0)/2fabs(x1-x0)>ee否(3)、Aitken算法程序流程图:开始定义函数s(t)=t*t*t-1输入迭代初始值x0,控制精度e,循环次数I,i=0fabs(x0*x0*x0-x0-1)>ei++;x1=s(x0);x2=s(x1);x0=x2-(x2-x1)*(x2-x1)/(x2-2*x1+pow((x1+1),1.0/

5、3.0));x=x0;输出近似根x迭代次数e结束fabs(x0*x0*x0-x0-1)>e否是是否(4)、牛顿迭代法流程图:开始定义函数s(t)=t-(t*t*t-t-1)/(3*t*t-1)迭代初始值x0,控制精度e,迭代次数i,i=0x1=x0fabs(s(x1)-x1)>ei++;x2=s(x1);x1=x2;输出近似根x,迭代次数ix=(x1+x2)/2;结束fabs(s(x1)-x1)>e否是是否二分法算法描述:(1)、程序开始(2)、输入求根区间[a,b]和精度控制量e,方程x*x*x-x-1=0。循环变量i=0(3)、判断b-a>e是否

6、成立,若成立执行下面的操作,若不成立,程序结束。(4)、计算中值点x=(a+b)/2及f(x)的值,i++当f(a)*f(x)<0时:b=x,得到新的求根区间[a,b]当f(a)*f(x)>0时:a=x,得到新的求根区间[a,b](5)、判断b-a>e是否成立,若成立返回步骤4,若不成立,往下执行。(6)、t=(a+b)/2(7)、输出近似根t,循环次数i(8)、程序结束二分法程序源代码:#include#include#definef(x)(x*x*x-x-1)usingnamespacestd;intmain()

7、{inti;floatx,t,a,b,e;cout<<"请输入求根区间a,b"<<"控制变量e"<>a>>b>>e;i=0;while((b-a)>e){i++;x=(a+b)/2;if(f(a)*f(x)<0)b=x;if(f(a)*f(x)>0)a=x;}t=(a+b)/2;cout<<"在求根区间a,b间近似根t="<

8、当精度达到0.00001时,程序运行如下图:调试过程中如果把while((b-a)>e)改为while((b

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。