太原理工大学计算机数值方法实验报告.doc

太原理工大学计算机数值方法实验报告.doc

ID:58874688

大小:176.00 KB

页数:30页

时间:2020-09-21

太原理工大学计算机数值方法实验报告.doc_第1页
太原理工大学计算机数值方法实验报告.doc_第2页
太原理工大学计算机数值方法实验报告.doc_第3页
太原理工大学计算机数值方法实验报告.doc_第4页
太原理工大学计算机数值方法实验报告.doc_第5页
资源描述:

《太原理工大学计算机数值方法实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、..本科实验报告课程名称:计算机数值方法实验地点:专业班级:学号:学生:指导教师:成绩:年月日.....理工大学学生实验报告学院名称计算机科学与技术学院专业班级学号学生实验日期成绩课程名称计算机数值方法实验题目实验一方程求根一、实验目的和要求:(1)实验目的:熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。求方程:f(x)=x*x*x+4*x*x-10=0在[1,2]的一个实根,且要求满足精度

2、x*-xn

3、<0.001(2)实验要求:1.应用C,C++或JAVA编出通用程序,源程序要有

4、详细的注释和说明;2.比较计算结果,对不同方法进行比较分析;3.实验完成,提交实验结果并写出报告,分析计算结果是否符合问题的要求,找出计算成功的原因或计算失败的教训。二、实验容和原理:(1)增值寻根法:基本思想为:从初始值x0开始,按规定的一个初始步长h来增值。令x(n+1)=x(n)+h,(n=0,1,2...),同时计算f(x(n+1)).在增值过程中会遇到三种情况:1.f(x(n+1))=0,此时x(n+1)即为方程根。2.f(x(n))和f(x(n+1))同号,说明区间无根。3.f(x(n))和f(

5、x(n+1))同号,说明区间有根,则把步长缩小,直至满足精度要求为止,x(n)或x(n+1)就是满足精度的近似根。(2)二分法:基本思想为:设f(x)在[a,b]连续,且f(a)*f(b)<0,则方程f(x)=0在(a,b)有实根x*.然后逐步对分区间[a,b],通过判断两端点函数值乘积的符号,进一步缩小有根区间从而求出满足精度要求的近似值。(3)牛顿迭代法:基本思想为给定一个初始值由牛顿法的迭代公式:x(n+1)=x(n)-f(x(n))/f’(x(n))(n=0,1,2...)逐步求出x(n),直至(x

6、(n+1)-x(n))的绝对值小于给定精度,则x(n+1)即可作为近似值。(4)双点割线法:由给出的两个初始近似值,再根据双点割线法迭代公式:x(n+1)=x(n)-(f(x(n))/(f(x(n))-f(x(n-1)))*(x(n)-x(n-1)),(n=1,2,3...)逐步求出x(n),直至x(n+1)-x(n)的绝对值满足精度,则x(n+1)即可作为近似值。(5)单点割线法:由给出的两个初始近似值,再根据双点割线法迭代公式:x(n+1)=x(n)-(f(x(n))/(f(x(n))-f(x(0)))

7、*(x(n)-x(0)),(n=1,2,3...)逐步求出x(n),直至x(n+1)-x(n)的绝对值满足精度,则x(n+1)即可作为近似值。三、主要仪器设备:笔记本电脑.....三、操作方法:源代码:(1)增值寻根法:#includedoublefun(doublex){//原函数return(x*x*x+4*x*x-10);//求解方程f(x)=x*x*x+4*x*x-10=0的根,精度为10-3.}intmain(){doublea=1.25,h=1,x=a;printf("初始近似

8、值为:%lf",a);do{if(fun(x)==0){printf("根为:%f",x);return0;}/*如果初始值函数值为0,则初始值即为根*/elseif(fun(x)*fun(x+h)>0)/*如果fun(x)和fun(x+h)同号则使X加h并跳出本次循环执行下一次*/{x=x+h;continue;}elseif(fun(x)*fun(x+h)<0)//若异号则说明在X和X+h之间存在函数根,则缩//短步长继续寻根{h=h/10.0;}}while(h>0.001);//当不满足精度要求

9、时继续执行循环体printf("根为:%f",x);//跳出循环说明满足精度要求则x可近似作为方程根return0;}(2)二分法:#include#include#defineesp1e-3//精度doublef(doublex)//原函数{return(x*x*x+4*x*x-10);}doubleroot(double(*fun)(double),doubleleft,doubleright,doubledeviation)//用二分法求方程根{//其中形参*fu

10、n为指向原函数的指针doublex,y;while(fabs(right-left)>deviation)//当不满足精度要求继续执行循环体{.....x=(right+left)/2;//求出中点的横坐标y=fun(x);//计算中点的函数值if(y==0)returnx;//如果中点函数值等于0则中点即为所求根if(y>0)right=x;//若中点函数值大于0则令其为区间右终点值elseleft=x;//否

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

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

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