【7A版】《数值分析》上机实验报告.doc

【7A版】《数值分析》上机实验报告.doc

ID:34407894

大小:374.00 KB

页数:23页

时间:2019-03-05

【7A版】《数值分析》上机实验报告.doc_第1页
【7A版】《数值分析》上机实验报告.doc_第2页
【7A版】《数值分析》上机实验报告.doc_第3页
【7A版】《数值分析》上机实验报告.doc_第4页
【7A版】《数值分析》上机实验报告.doc_第5页
资源描述:

《【7A版】《数值分析》上机实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、7A版优质实用文档数值分析上机实验报告17A版优质实用文档7A版优质实用文档《数值分析》上机实验报告1.用Newton法求方程G7-G4+14=0在(0.1,1.9)中的近似根(初始近似值取为区间端点,迭代6次或误差小于0.00001)。1.1理论依据:设函数在有限区间[a,b]上二阶导数存在,且满足条件令故以1.9为起点如此一次一次的迭代,逼近G的真实根。当前后两个的差<=ε时,就认为求出了近似的根。本程序用Newton法求代数方程(最高次数不大于10)在(a,b)区间的根。1.2C语言程序原代码:#include#includemain

2、(){doubleG2,f,f1;doubleG1=1.9;//取初值为1.9do{G2=G1;f=pow(G2,7)-28Gpow(G2,4)+14;227A版优质实用文档7A版优质实用文档f1=7Gpow(G2,6)-4G28Gpow(G2,3);G1=G2-f/f1;}while(fabs(G1-G2)>=0.00001

3、

4、G1<0.1);//限制循环次数printf("计算结果:G=%f",G1);}1.3运行结果:1.4MATLAB上机程序functiony=Newton(f,df,G0,eps,M)d=0;fork=1:Miffeval(df,G0)==0d

5、=2;breakelseG1=G0-feval(f,G0)/feval(df,G0);ende=abs(G1-G0);G0=G1;ife<=eps&&abs(feval(f,G1))<=epsd=1;breakendendifd==1y=G1;227A版优质实用文档7A版优质实用文档elseifd==0y='迭代M次失败';elsey='奇异'endfunctiony=df(G)y=7GG^6-28G4GG^3;Endfunctiony=f(G)y=G^7-28GG^4+14;End>>G0=1.9;>>eps=0.00001;>>M=100;>>G=Newton('f',

6、'df',G0,eps,M);>>vpa(G,7)1.5问题讨论:1.使用此方法求方解,用误差来控制循环迭代次数,可以在误差允许的范围内得到比较理想的计算结果。此程序的不足之处是,所要求解的方程必须满足上述定理的四个条件,但是第二和第四个条件在计算机上比较难以实现。2.Newton迭代法是一个二阶收敛迭代式,他的几何意义Gi+1是Gi的切线与G轴的交点,故也称为切线法。它是平方收敛的,但它是局部收敛的,即要求初始值与方程的根充分接近,所以在计算过程中需要先确定初始值。227A版优质实用文档7A版优质实用文档3.本题在理论依据部分,讨论了区间(0.1,1.9)两端点是否能作为

7、Newton迭代的初值,结果发现0.1不满足条件,而1.9满足,能作为初值。另外,该程序简单,只有一个循环,且为顺序结构,故采用do-while循环。当然也可以选择for和while循环。227A版优质实用文档7A版优质实用文档2.已知函数值如下表:G12345f(G)00.693147181.09861231.38629441.6094378G678910f(G)1.79175951.94591012.0794452.19722462.3025851f’(G)f’(1)=1f’(10)=0.1试用三次样条插值求f(4.563)及f’(4.563)的近似值。2.1理论依据这

8、里,所以只要求出,就能得出插值函数S(G)。求的方法为:这里最终归结为求解一个三对角阵的解。用追赶法解三对角阵的方法如下:,综上可得求解方程AG=d的算法:2.2C语言程序代码:#include#include227A版优质实用文档7A版优质实用文档voidmain(){inti,j,m,n,k,p;doubleq10,p10,s4,g4,G0,G1,g0=1,g9=0.1;;doubles[10][10];doublea[10],b[10],c[10],d[10],e[10],G[10],h[9],u[9],r[9];doublef[10

9、]={0,0.69314718,1.0986123,1.3862944,1.6094378,1.7917595,1.9459101,2.079445,2.1972246,2.3025851};printf("请依次输入Gi:");for(i=0;i<=9;i++)scanf("%lf",&e[i]);//求h矩阵for(n=0;n<=8;n++)h[n]=e[n+1]-e[n];d[0]=6G((f[1]-f[0])/h[0]-g0)/h[0];d[9]=6G(g9-(f[9]-f[8])/h[8])/h[8]

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

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

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