数值分析上机实验报告

更新时间:2023-12-25 06:25:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数值分析上机实验

实验报告

1.计算实习2 2.计算实习3 3.计算实习4 4.计算实习5 5.计算实习6

班级:计科姓名:赵亚男学号:

1101 1111080123

1上机实验

实验序号:数值分析 日期:2013 年 12月 26 日

班级 实验 名称 计科1101 姓名 赵亚男 学号 1111080123 数值分析的计算实习 实验目的: 通过使用MATLAB编程,加强对数值分析中学会的计算方法的应用。 实验内容与过程: 计算实习2 分别用二分法、牛顿迭代法、割线法、斯蒂芬森迭代法求方程f?x??x2?1?x?1??0的5??根x?1,观察不同初值下的收敛性,并给出你的结论。 利用MATLAB编程,程序如下: 2

二分法选用的区间为:[0.5,2];牛顿迭代法选择的初值为0;割线法选择的初值为0,0.1;斯蒂芬森迭代法选择的初值为0。 将初值变为0.8,计算的结果如下所示: 计算的结果如下所示: 从计算结果可以看出:斯蒂芬森迭代法的收敛速率最快,接着是二分法,牛顿迭代法,最后是割线法。并且,初始值取的越接近根值,收敛越快,特别是牛顿迭代法与割线法。 二分法的优点是算法简单,对f?x?的光滑度要求不高;缺点是收敛较慢且不能求偶重根。二分法一般不单独用于求根,通常用于确定某迭代法的初始近似值。 牛顿迭代法是局部的,超线性收敛的。如果f?x?在x的某邻域内具有连续二阶导数,则牛顿*迭代法产生的序列至少平方收敛到x。割线法产生的序列也是超线性收敛的,且收敛阶*1?5p??1.618 2斯蒂芬森迭代法的优点是,不用求导且是平方收敛的方法。 3

计算实习3 1.区间[-1,1]作等距划分: xk??1?kh?k?0,1,?,n?,h?以xk为节点对函数f?x??2 n1进行插值逼近。 5?x2(1)分别取n?1,5,10,20,25,用牛顿插值对f?x?进行逼近,并在同一坐标系下作出函数的图形,进行比较,写出插值函数对f?x?的逼近程度与节点个数的关系,并分析原因。 (2)试用三次样条插值对f?x?进行逼近,在同一坐标系下画出图形,观察样条插值函数对f?x?的逼近程度与节点个数的关系。 (3)整体插值有何局限性?如何避免? 解: (1)使用MATLAB编写的程序如下: 画出的图形如下所示: 从图形中可以看出,当n越大时,函数的逼近程度越好。随着节点个数的增加,牛顿插值的最高次数也在不断的增加,逼近的效果也在不断的变好。这个图形中,只能看出n=1与n>1的逼近效果的明显不同。在这个函数条件下,当n>1时,牛顿插值的逼近效果差不多,都十分的接近原始函数。 4

(2)三次样条插值,使用MATLAB编写的程序如下: 画出的图形如下所示: 从图中可以看出,当n=1时,插值的逼近效果不太好,但是比牛顿插值的效果好。当n>1时,插值的逼近效果就特别好,基本与原函数重合了。 (3)对于整体插值,如果节点数目较少,插值函数就不怎么精确;如果节点数目增多,就有可能会发生龙格现象;解决方法是分段低次插值。 5

2.已知一组数据如下,求其拟合曲线。 i xi 0 2 1 3 2 4 3 7 110 4 8 5 10 6 11 7 14 8 16 9 18 111 10 19 111.2 yi 106.42 108.2 109.5 109.93 110.49 110.59 110.6 110.76 2(1)求以下数据形如y?x??c0?c1x?c2x的拟合曲线及其平方误差; (2)求以上数据形如y?x??ae?bx的拟合曲线及其平方误差; (3)通过观察(1)(2)的结果,写出你对数据拟合的认识。 解: (1)使用最小二乘法求二次多项式的MATLAB程序如下: 运行的计算结果如下: 即拟合的函数为: y?x??106.2927?0.6264x?0.0205x2 平方误差为: ?2?2.77960901211800 拟合的曲线图如下所示: 6

(2)拟合y?x??ae?bx这种类型的曲线,可以先变形,即:f?x??ln?y?x???ln?a??b,接着变x成线性函数,即:取t?MATLAB程序如下: 1,则,z?t??a0?bt x 计算结果为: 则,a?e4.7140?111.4940,b?0.0903 0.0903x拟合的函数为: f?x??111.4940e平方误差为: ? ?2?0.47193209161228 拟合的曲线如图所示: (3)将(1)(2)的拟合曲线,放在一个图中的效果如右上角所示。 同一组数据,选择不同的模型,拟合的效果完全不同。在数据拟合中,选择一个适合的拟合模型至关重要! 7

计算实习4 设计区间分半求积算法、龙贝格求积算法和自适应辛普森求积算法的程序,观察n?1,10,100,500时,积分?1x2cos?nx?dx的结果,并给出相应的评价。 ?1解:区间分半求积算法的程序如下: 计算的结果如下: 龙贝格求积算法的程序如下: 计算结果如下: 8 自适应辛普森求积算法的程序如下: 计算的结果如下: 计算精度是??10; 将区间分半求积算法、龙贝格求积算法和自适应辛普森求积算法的结果进行比较 n 区间分半 龙贝格 自适应辛普森 1 0.4789 0.4783 0.4779 5 4 1 10 -0.1396 -0.1402 -0.1402 7 6 7 100 0.6122 0.6112 0.6111 6 3 1 500 -0.0013 -0.2492 -0.2491 10 5 3 ?3 相同的计算精度,自适应辛普森的收敛速度最快,区间分半最慢,且准确度不高。龙贝格,算法简单,计算量不大。 9

计算实习5 分别取步长h?0.5,0.1,0.05,0.01,?,用显示欧拉法求解y??ty,y?1??1,计算到t?2,并与精确解y?t???13?t?2??比较,观察欧拉法的收敛性。 3???2?32解: 显示欧拉法求解的程序如下: 求解的结果如下: 从结果可以看出,步长越短,收敛性越好,越与真实结果接近。 使用四级四阶龙格--库塔法求解的程序如下: 求解结果如下: 从结果可以看出,四级四阶龙格--库塔法求解的结果比显示欧拉法求解的结果更接近真实解,收敛性更好。

10

计算实习6 试用列主元高斯消去法解希尔伯特矩阵H?hij??n?n方程组Hx?b,考察给定的n?5,10,20,50,100及相应的b时结果的变化,分析其中的原因并给出结论。其中 hij?解: 1 i?j?1假设b?0,则,使用列主元高斯消去法解希尔伯特矩阵H?hij??n?n方程组Hx?b,的程序如下: 求解结果都是0; 如果bt?bt?a,则,计算的程序如下: '通过这个程序,我们可以分析b变化时,计算结果的变化。 取t?2,a?1,不同的n的取值情况下,?x的二范数变化如右图: 从图中可以看出,随着n的增大,计算结果的误差二范数集中在0处。当n?10时,误差最大,二范数也最大。 11

12

本文来源:https://www.bwwdw.com/article/8jyx.html

Top