哈工大数值分析上机报告

哈工大数值分析上机报告

ID:41975691

大小:242.02 KB

页数:42页

时间:2019-09-05

哈工大数值分析上机报告_第1页
哈工大数值分析上机报告_第2页
哈工大数值分析上机报告_第3页
哈工大数值分析上机报告_第4页
哈工大数值分析上机报告_第5页
资源描述:

《哈工大数值分析上机报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、哈工大数值分析上机报告实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。■、八—.刖a:掌握二分法与Newton法的基本原理和应用。数学原理:对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)Newton法通常预先要给出一个猜测初值xO,然后根据其迭代公式xk?l?xk?f(xk

2、),f(xk)产生逼近解X*的迭代数列{xk},这就是Newton法的思想。当xO接近x*时收敛很快,但是当xO选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为xk?l?xk?rf(xk)f'(xk)其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。程序设计:本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下functiony=f(x):y二-x*x-sin(x);写成如上形式即可,下面给出主

3、程序。二分法源程序:clear%%%给定求解区间b=;a二0;%%%误差R=l;20;%迭代次数初值while(R>5e-6);c=(a+b)/2;iff12(a)*fl2(c)>0;a=c;eIseb=c;endR=b-a;%求出误差k=k+l;endx二c%给出解Newton法及改进的Newton法源程序:clear%%%%输入函数f=input('请输入需要求解函数>>',‘s')%%%求解f(x)的导数df二diff(f);%%%改进常数或重根数miu二2;%%%初始值xOxO=input('inputinitialvalu

4、ex0>>');k=0;%迭代次数max=l00;%最大迭代次数R=eval(subs(f,'x0‘,’x'));%求解f(xO),以确定初值xO时否就是解while(abs(R)>le~8)xl=x0-miu*eval(subs(f,'xO'x'))/eval(subs(df,'xO','x'));R=xl-xO;xO=xl;k=k+l;if(eval(subs(f,'xO','x'))breakendifk>max;%如果迭代次数大于给定值,认为迭代不收敛,重新输入初值ss二input('mayberesultiserror,c

5、hooseanewxO,y/n?>>',‘s');ifstrcmp(ss,'y‘)xO二inputCinputinitialvaluex0>>‘);k=0;elsebreakendendendk;%给出迭代次数x=xO;%给出解结果分析和讨论:x2?0在[1,2]内的根。(??5*10?6,下同)1.用二分法计算方程sinx?2计算结果为X二;f(X)=-;k二18;由f(x)知结果满足要求,但迭代次数比较多,方法收敛速度比较慢。2.用二分法计算方程x3?x?l?0在[1,]内的根。计算结果为X=;f(X)二;k=17;由f(x)知

6、结果满足要求,但迭代次数还是比较多。3.用Newton法求解下列方程a)xex?l?0x0二;计算结果为f(x)二;k二4;由f(x)知结果满足要求,而且又迭代次数只有4次看出收敛速度很快。a)x3?x?l?0x0=1;b)(x?l)2(2x?l)?0x0=,x0二;当xO二时,计算结果为X=;f(x)=-;k=4;由f(x)知结果满足要求,而且又迭代次数只有4次看出收敛速度很快,实际上该方程确实有真解沪。当xO二时,计算结果为x二;f(x)=O;k=9;由f(x)知结果满足要求,实际上该方程确实有真解x=,但迭代次数增多,实际上当

7、取xO)时,x~l,就变成了方程的另一个解,这说明Newton法收敛与初值很有关系,有的时候甚至可能不收敛。2.用改进的Newton法求解,有2重根,取??2(x?l)2(2x?l)?0x0=;并与3.中的c)比较结果。当xO二时,程序死循环,无法计算,也就是说不收敛。改??时,结果收敛为x二;f(X)二;k=16;显然这个结果不是很好,而且也不是收敛至方程的2重根上。当xO二时,结果收敛为X二;f(x)=;k=4;这次达到了预期的结果,这说明初值的选取很重要,直接关系到方法的收敛性,实际上直接用Newton法,在给定同样的条件和精

8、度要求下,可得其迭代次数k=15,这说明改进后的Newton法法速度确实比较快。结论:对于二分法,只要能够保证在给定的区间内有根,使能够收敛的,当时收敛的速度和给定的区间有关,二且总体上来说速度比较慢。Newton法,收敛速度要比二分

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

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

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