1数值分析上机实验实验报告1.计算实习22.计算实习33.计算实习44.计算实习55.计算实习6班级:计科1101姓名:赵亚男学号:11110801232上机实验实验序号:数值分析日期:2013年12月26日班级计科1101姓名赵亚男学号1111080123实验名称数值分析的计算实习实验目的:通过使用MATLAB编程,加强对数值分析中学会的计算方法的应用。实验内容与过程:计算实习2分别用二分法、牛顿迭代法、割线法、斯蒂芬森迭代法求方程01152xxxf的根1x,观察不同初值下的收敛性,并给出你的结论。利用MATLAB编程,程序如下:3二分法选用的区间为:]2,5.0[;牛顿迭代法选择的初值为0;割线法选择的初值为0,0.1;斯蒂芬森迭代法选择的初值为0。将初值变为0.8,计算的结果如下所示:计算的结果如下所示:从计算结果可以看出:斯蒂芬森迭代法的收敛速率最快,接着是二分法,牛顿迭代法,最后是割线法。并且,初始值取的越接近根值,收敛越快,特别是牛顿迭代法与割线法。二分法的优点是算法简单,对xf的光滑度要求不高;缺点是收敛较慢且不能求偶重根。二分法一般不单独用于求根,通常用于确定某迭代法的初始近似值。牛顿迭代法是局部的,超线性收敛的。如果xf在*x的某邻域内具有连续二阶导数,则牛顿迭代法产生的序列至少平方收敛到*x。割线法产生的序列也是超线性收敛的,且收敛阶1.618251p斯蒂芬森迭代法的优点是,不用求导且是平方收敛的方法。4计算实习31.区间[-1,1]作等距划分:nhnkkhxk2,,,1,01以kx为节点对函数251xxf进行插值逼近。(1)分别取,25,20,10,5,1n用牛顿插值对xf进行逼近,并在同一坐标系下作出函数的图形,进行比较,写出插值函数对xf的逼近程度与节点个数的关系,并分析原因。(2)试用三次样条插值对xf进行逼近,在同一坐标系下画出图形,观察样条插值函数对xf的逼近程度与节点个数的关系。(3)整体插值有何局限性?如何避免?解:(1)使用MATLAB编写的程序如下:画出的图形如下所示:从图形中可以看出,当n越大时,函数的逼近程度越好。随着节点个数的增加,牛顿插值的最高次数也在不断的增加,逼近的效果也在不断的变好。这个图形中,只能看出n=1与n1的逼近效果的明显不同。在这个函数条件下,当n1时,牛顿插值的逼近效果差不多,都十分的接近原始函数。5(2)三次样条插值,使用MATLAB编写的程序如下:画出的图形如下所示:从图中可以看出,当n=1时,插值的逼近效果不太好,但是比牛顿插值的效果好。当n1时,插值的逼近效果就特别好,基本与原函数重合了。(3)对于整体插值,如果节点数目较少,插值函数就不怎么精确;如果节点数目增多,就有可能会发生龙格现象;解决方法是分段低次插值。62.已知一组数据如下,求其拟合曲线。i012345678910ix23478101114161819iy106.42108.2109.5110109.93110.49110.59110.6110.76111111.2(1)求以下数据形如2210xcxccxy的拟合曲线及其平方误差;(2)求以上数据形如xbaexy的拟合曲线及其平方误差;(3)通过观察(1)(2)的结果,写出你对数据拟合的认识。解:(1)使用最小二乘法求二次多项式的MATLAB程序如下:运行的计算结果如下:即拟合的函数为:20205.06264.02927.106xxxy平方误差为:18007796090121.22拟合的曲线图如下所示:7(2)拟合xbaexy这种类型的曲线,可以先变形,即:xbaxyxflnln,接着变成线性函数,即:取xt1,则,btatz0MATLAB程序如下:计算结果为:则,4940.1117140.4ea,0903.0b拟合的函数为:xexf0903.04940.111平方误差为:12284719320916.02拟合的曲线如图所示:(3)将(1)(2)的拟合曲线,放在一个图中的效果如右上角所示。同一组数据,选择不同的模型,拟合的效果完全不同。在数据拟合中,选择一个适合的拟合模型至关重要!8计算实习4设计区间分半求积算法、龙贝格求积算法和自适应辛普森求积算法的程序,观察500,100,10,1n时,积分112cosdxnxx的结果,并给出相应的评价。解:区间分半求积算法的程序如下:计算的结果如下:龙贝格求积算法的程序如下:计算结果如下:9自适应辛普森求积算法的程序如下:计算的结果如下:计算精度是310;将区间分半求积算法、龙贝格求积算法和自适应辛普森求积算法的结果进行比较相同的计算精度,自适应辛普森的收敛速度最快,区间分半最慢,且准确度不高。龙贝格,算法简单,计算量不大。n110100500区间分半0.47895-0.139670.61226-0.001310龙贝格0.47834-0.140260.61123-0.24925自适应辛普森0.47791-0.140270.61111-0.2491310计算实习5分别取步长,,01.0,05.0,1.0,5.0h用显示欧拉法求解,11,31ytyy计算到,2t并与精确解23232tty比较,观察欧拉法的收敛性。解:显示欧拉法求解的程序如下:求解的结果如下:从结果可以看出,步长越短,收敛性越好,越与真实结果接近。使用四级四阶龙格--库塔法求解的程序如下:求解结果如下:从结果可以看出,四级四阶龙格--库塔法求解的结果比显示欧拉法求解的结果更接近真实解,收敛性更好。11计算实习6试用列主元高斯消去法解希尔伯特矩阵nnijhH方程组,bHx考察给定的100,50,20,10,5n及相应的b时结果的变化,分析其中的原因并给出结论。其中11jihij解:假设0b,则,使用列主元高斯消去法解希尔伯特矩阵nnijhH方程组,bHx的程序如下:求解结果都是0;如果abbtt',则,计算的程序如下:通过这个程序,我们可以分析b变化时,计算结果的变化。取1,2at,不同的n的取值情况下,x的二范数变化如右图:从图中可以看出,随着n的增大,计算结果的误差二范数集中在0处。当10n时,误差最大,二范数也最大。希尔伯特矩阵是一种数学变换矩阵,正定,且高度病态,病态程度和阶数相关。从有图中可12