南京邮电大学数值计算实践报告

上传人:hs****ma 文档编号:508591547 上传时间:2024-02-06 格式:DOC 页数:39 大小:2.38MB
返回 下载 相关 举报
南京邮电大学数值计算实践报告_第1页
第1页 / 共39页
南京邮电大学数值计算实践报告_第2页
第2页 / 共39页
南京邮电大学数值计算实践报告_第3页
第3页 / 共39页
南京邮电大学数值计算实践报告_第4页
第4页 / 共39页
南京邮电大学数值计算实践报告_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《南京邮电大学数值计算实践报告》由会员分享,可在线阅读,更多相关《南京邮电大学数值计算实践报告(39页珍藏版)》请在金锄头文库上搜索。

1、数值计算实践I、方程求根一、 实验目的熟悉和掌握Newton法,割线法,抛物线法的方法思路,并能够在matlab上编程实现二、 问题描述(1).给定一个三次方程,分别用Newton法,割线法,抛物线法求解。方程的构造方法:(a)根:方程的根为学号的后三位乘以倒数第二位加1再除以1000.假设你的学号为B06060141,则根为141*(4+1)/1000=0.564(b)方程:以你的学号的后三位数分别作为方程的三次项,二次项,一次项的系数,根据所给的根以及三个系数确定常数项.例如:你的学号是B06060141,则你的方程是x3+4x2+x+a0=0的形式。方程的根为0。564,因此有0。564

2、3+4*0。5642+0。564+a0=0,于是a0=2。015790144你的方程为x3+4x2+x-2。015790144=0。(2)假设方程是sinx+4x2+x+a0=0的形式(三个系数分别是学号中的数字),重新解决类似的问题(3)构造一个五次方程完成上面的工作。四次方程的构造:将三次多项式再乘以(xp*)2得到对应的五次多项式(p*为已经确定的方程的根,显然,得到的五次方程有重根).(4)将(2)中的方程同样乘以(x-p)得到一个新的方程来求解注:(1)Newton法取0。5为初值,割线法以 0,1为初值,抛物线法以0,0。5,1为初值,(2)计算精度尽量地取高。终止准则:根据来终止

3、 (3)可供研究的问题:(一)的取值不同对收敛速度有多大的影响(二)将注(1)中的初值该为其它的初值,对收敛性以及收敛速度有无影响(三))能否求出方程的所有的根(4)实验报告的撰写 实验报告包含的内容:(一)实验目的(二)问题描述(三)算法介绍(包括基本原理)(四)程序(五)计算结果(六)结果分析(七)心得体会三、 算法介绍在本问题中,我们用到了newton法,割线法,抛物线法.1。Newton法迭代格式为: 当初值与真解足够靠近,newton迭代法收敛,对于单根,newton收敛速度很快,对于重根,收敛较慢。2。割线法:为了回避导数值的计算,使用上的差商代替,得到割线法迭代公式:割线法的收敛

4、阶虽然低于newton法,但迭代以此只需计算一次函数值,不需计算其导数,所以效率高,实际问题中经常应用.3. 抛物线法:可以通过三点做一条抛物线,产生迭代序列的方法称为抛物线法。其迭代公式为:其中 是一阶均差和二阶均差。收敛速度比割线法更接近于newton法。对于本问题的解决就以上述理论为依据。终止准则为:本题中所有精度取1e8.四、 程序计算结果问题一根据所给的要求,可知待求的方程为:牛顿法建立newton_1。m的源程序,源程序代码为:function y=newton_1(a,n,x0,nn,eps1) x(1)=x0; b=1; i=1; while(abs(b)eps1x(i)) i

5、=i+1; x(i)=x(i1)n_f(a,n,x(i1)/n_df(a,n,x(i1); b=x(i)-x(i1); if(inn)error return; end end y=x(i);建立n_f。m的源程序来求待求根的实数代数方程的函数,源程序代码为:function y=n_f(a,n,x) 待求根的实数代数方程的函数 y=0。0; for i=1:(n+1) y=y+a(i)x(n+1-i); end建立n_df。m的源程序来方程的一阶导数的函数,源程序代码为:function y=n_df(a,n,x) 方程的一阶导数的函数 y=0。0; for i=1:n y=y+a(i)*(

6、n+1-i)*x(ni); end在matlab软件中执行下列语句并得到的最终结果截图:割线法建立gexian.m的源程序,源程序代码为function x=gexian(f,x0,x1,e) if nargin4,e=1e4;end y=x0;x=x1;i=0; while abs(xy)e i=i+1; z=x-(feval(f,x)(xy))/(feval(f,x)-feval(f,y)); y=x; x=z; end i 在matlab软件中执行下列语句并得到的最终结果截图:抛物线建立paowuxian。m的源程序,源程序代码为:function x=paowuxian(f,x0,x1

7、,x2,e) if nargin4,e=1e-4;end x=x2;y=x1;z=x0;i=0; while abs(x-y)e i=i+1; h1=yz; h2=xy; c1=(feval(f,y)-feval(f,z)/h1; c2=(feval(f,x)-feval(f,y)/h2; d=(c1c2)/(h1+h2); w=c2+h2d; xi=x-(2feval(f,x)/(w+(w/abs(w)*sqrt(w2-4*feval(f,x)d); z=y; y=x; x=xi; endi在matlab软件中执行下列语句并得到的最终结果截图:研究一:只改变初值由上述结果可知,方程的解在0。

8、2附近,所以将牛顿法为0。2;割线法的初值设为0,0。4;抛物线法的初值设为0,0.2,0。4;牛顿法根据问题1中牛顿法的程序,在matlab软件中执行下列语句并得到的最终结果截图:割线法根据问题1中割线程序,在matlab软件中执行下列语句并得到的最终结果截图:抛物线法根据问题1中抛物线法程序,在matlab软件中执行下列语句并得到的最终结果截图:研究二 只改变精度将精度由1e8改为1e-50和1e-100观察迭代次数有何变化牛顿法:根据问题1中的牛顿法的程序,在matlab软件中执行下列语句并得到的最终结果截图:精度为1e50时精度为1e-100时割线法根据问题1中的割线法的程序,在mat

9、lab软件中执行下列语句并得到的最终结果截图:精度为1e-50时精度为1e100时抛物线法根据问题1中的抛物线法的程序,在matlab软件中执行下列语句并得到的最终结果截图:精度为1e50时精度为1e100时、研究结论在只改变初值时,当初值定得越靠近初值,迭代次数就越少.在只改变精度时,当精度越来越大时,迭代次数并几乎不变。综上所述,初值对迭代次数的影响比较大,精度对迭代次数影响不大。问题二问题描述根据所给的要求,可知待求的方程为:问题分析仍然利用(1)中方法求解这一问题,并利用图解法找到初值,通过观察图像,将newton法初值设为:0。1,割线法初值设为:0,0。2。抛物线法初值设为:0,0

10、。1,0。2.图像见下图:Newton法问题一的牛顿法的求解只适用于线性方程,所以在问题二中用其他方法来求解方程。建立newton1.m源程序,源程序代码为:function x=newton1(fn,dfn,x0,e)if nargin4,e=1e4;endx=x0;x0=x+2*e;i=1;while abs(x0x)ei=i+1;x0=x;x=x0feval(fn,x0)/feval(dfn,x0);end在matlab软件中执行下列语句并得到最终结果截图割线法利用问题一中的割线法程序,在matlab软件中执行下列语句抛物线法利用问题一中的抛物线法程序,在matlab软件中执行下列语句问

11、题三问题描述按照题目要求对五次方程进行构造为:问题分析仍然利用一中方法求解这一问题,并利用图解法找到初值,通过观察图像,将牛顿法的两组初值为0以及0.5,割线法初值设为:0,0。5以及0,0.2。抛物线法初值设为:两组初值为0,0。5,1以及0,0。25,0。5.牛顿法利用问题二中的程序,在matlab软件中执行下列语句:初值为0时初值为0.5时割线法利用问题一中割线法的程序,在matlab软件中执行下列语句:初值为0,0。5时初值为0,0。2时抛物线法利用问题一中抛物线法的程序,在matlab软件中执行下列语句:初值为0,0。5,1时初值为0,0.25,0。5时问题四问题描述根据题目要求对方

12、程进行构造为:问题分析仍然利用问题一中方法求解这一问题,并利用图解法找到初值,通过观察图像,newton法初值选取了两组初值为0以及0.5,割线法初值设为:0,0.5和0,0。3。抛物线法初值设为:两组初值为0,0。2,0.4以及0,0.5,1.牛顿法利用问题二中的程序,在matlab软件中执行下列语句:初值为0时初值为0。5时割线法利用问题一中割线法的程序,在matlab软件中执行下列语句:初值为0,0.5时初值为0,0.3时抛物线法利用问题一中抛物线法的程序,在matlab软件中执行下列语句:初值为0,0.1,0。2时初值为0,0。5,1时五、 计算结果及分析Newton法割线法抛物线法问题一0.2240。2240.224问题二0。14660.14660。1466问题三0。2240。2240。224问题四0.224和0.1465772585571010.224和0。14660。224和0.1466 问题一 迭代步数 问题二 迭代步数 问题三迭代步数 问题四迭代步数Newton法 6 5 37 8 9割线法 8 5 50 13 10抛物线法 9 5 63 14 13结果分析将Newton法,割线法,抛物线法进行比较可以看到在本文

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号