哈工大-数值分析上机实验报告(共27页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《哈工大-数值分析上机实验报告(共27页).doc》由会员分享,可在线阅读,更多相关《哈工大-数值分析上机实验报告(共27页).doc(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验报告一题目:非线性程求解摘要:非线性程的解析解通常很难给出,因此线性程的数值解法就尤为重要。本实验采用两种常见的求解法二分法和Newton法及改进的Newton法。前言:(目的和意义)掌握二分法与Newton法的基本原理和应用。数学原理:对于一个非线性程的数值解法很多。在此介绍两种最常见的法:二分法和Newton法。对于二分法,其数学实质就是说对于给定的待求解的程f(x),其在a,b上连续,f(a)f(b)0,且f(x)在a,b仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)5e-6) ; c=(a+b)/2; if f12(a)*f12
2、(c)0; a=c; else b=c; end R=b-a;%求出误差k=k+1;endx=c%给出解Newton法及改进的Newton法源程序:clear% 输入函数f=input(请输入需要求解函数,s)%求解f(x)的导数df=diff(f);%改进常数或重根数miu=2;%初始值x0x0=input(input initial value x0);k=0;%迭代次数max=100;%最大迭代次数R=eval(subs(f,x0,x);%求解f(x0),以确定初值x0时否就是解while (abs(R)1e-8) x1=x0-miu*eval(subs(f,x0,x)/eval(sub
3、s(df,x0,x); R=x1-x0; x0=x1; k=k+1;if (eval(subs(f,x0,x)max;%如果迭代次数大于给定值,认为迭代不收敛,重新输入初值 ss=input(maybe result is error,choose a new x0,y/n?,s); if strcmp(ss,y) x0=input(input initial value x0); k=0; else break end endendk;%给出迭代次数x=x0;%给出解结果分析和讨论:1. 用二分法计算程在1,2的根。(,下同)计算结果为x= 1.523;f(x)= -3.4311e-007;
4、k=18;由f(x)知结果满足要求,但迭代次数比较多,法收敛速度比较慢。2. 用二分法计算程在1,1.5的根。计算结果为x= 1.180;f(x)= 2.4815e-006;k=17;由f(x)知结果满足要求,但迭代次数还是比较多。3. 用Newton法求解下列程a) x0=0.5;计算结果为x= 0.978;f(x)= 2.0313e-016;k=4;由f(x)知结果满足要求,而且又迭代次数只有4次看出收敛速度很快。b) x0=1;c) x0=0.45, x0=0.65; 当x0=0.45时,计算结果为x= 0.983;f(x)= -8.4584e-014;k=4;由f(x)知结果满足要求,
5、而且又迭代次数只有4次看出收敛速度很快,实际上该程确实有真解x=0.5。当x0=0.65时,计算结果为x= 0.000;f(x)=0;k=9;由f(x)知结果满足要求,实际上该程确实有真解x=0.5,但迭代次数增多,实际上当取x00.68时,x1,就变成了程的另一个解,这说明Newton法收敛与初值很有关系,有的时候甚至可能不收敛。4. 用改进的Newton法求解,有2重根,取 x0=0.55;并与3.中的c)比较结果。当x0=0.55时,程序死循环,无法计算,也就是说不收敛。改时,结果收敛为x=0.286;f(x)=4.1127e-007;k=16;显然这个结果不是很好,而且也不是收敛至程的
6、2重根上。当x0=0.85时,结果收敛为x= 1.489;f(x)= 2.8737e-;k=4;这次达到了预期的结果,这说明初值的选取很重要,直接关系到法的收敛性,实际上直接用Newton法,在给定同样的条件和精度要求下,可得其迭代次数k=15,这说明改进后的Newton法法速度确实比较快。结论: 对于二分法,只要能够保证在给定的区间有根,使能够收敛的,当时收敛的速度和给定的区间有关,二且总体上来说速度比较慢。Newton法,收敛速度要比二分法快,但是最终其收敛的结果与初值的选取有关,初值不同,收敛的结果也可能不一样,也就是结果可能不时预期需要得结果。改进的Newton法求解重根问题时,如果初
7、值不当,可能会不收敛,这一点非常重要,当然初值合适,相同情况下其速度要比Newton法快得多。实验报告二题目: Gauss列主元消去法摘要:求解线性程组的法很多,主要分为直接法和间接法。本实验运用直接法的Guass消去法,并采用选主元的法对程组进行求解。前言:(目的和意义)1. 学习Gauss消去法的原理。2. 了解列主元的意义。3. 确定什么时候系数阵要选主元数学原理:由于一般线性程在使用Gauss消去法求解时,从求解的过程中可以看到,若=0,则必须进行行交换,才能使消去过程进行下去。有的时候即使0,但是其绝对值非常小,由于机器舍入误差的影响,消去过程也会出现不稳定得现象,导致结果不正确。因
8、此有必要进行列主元技术,以最大可能的消除这种现象。这一技术要寻找行r,使得并将第r行和第k行的元素进行交换,以使得当前的的数值比0要大的多。这种列主元的消去法的主要步骤如下:1. 消元过程对k=1,2,n-1,进行如下步骤。1) 选主元,记若很小,这说明程的系数矩阵重病态,给出警告,提示结果可能不对。2) 交换增广阵A的r,k两行的元素。 (j=k,n+1)3) 计算消元 (i=k+1,n; j=k+1,n+1)2. 回代过程对k= n, n-1,1,进行如下计算至此,完成了整个程组的求解。程序设计:本实验采用Matlab的M文件编写。 Gauss消去法源程序:cleara=input(输入系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 哈工大 数值 分析 上机 实验 报告 27
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内