西南交通大学数值分析上机实验报告_第1页
西南交通大学数值分析上机实验报告_第2页
西南交通大学数值分析上机实验报告_第3页
西南交通大学数值分析上机实验报告_第4页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西南交通大学数值分析上机实验报告数值分析上机实习报告学号:姓名:专业:联系电话:任课教师: 序 (1) 一、必做题 (2)1、问题一 (2)1.1 问题重述 (2)1.2 实验方法介绍 (2)1.3 实验结果 (3)2、问题二 (5)2.1 问题重述 (5)2.2 实验原理 (5)雅各比算法:将系数矩阵a分解为:a=l+u+d,则推到的最后迭代公式为: (6)2.3 实验结果 (6)二、选做题 (8)3、问题三 (8)3.1 问题重述 (8)3.2 实验原理 (9)3.3 实验结果 (9)总结 (10) 序 伴随着计算机技术的飞速发展,所有的学科都走向定量化和准确化,从而产生了一系列的计算性的

2、学科分支,而数值计算方法就是解决计算问题的桥梁和工具。数值计算方法,是一种研究并解决数学问题的数值近似解方法,是在计算机上使用的解数学问题的方法。为了提高计算能力,需要结合计算能力与计算效率,因此,用来解决数值计算的软件因为高效率的计算凸显的十分重要。数值方法是用来解决数值问题的计算公式,而数值方法的有效性需要根据其方法本身的好坏以及数值本身的好坏来综合判断。数值计算方法计算的结果大多数都是近似值,但是理论的严密性又要求我们不仅要掌握将基本的算法,还要了解必要的误差分析,以验证计算结果的可靠性。数值计算一般涉及的计算对象是微积分,线性代数,常微分方程中的数学问题,从而对应解决实际中的工程技术问

3、题。在借助ma tlab、ja v a、c+ 和vb软件解决数学模型求解过程中,可以极大的提高计算效率。本实验采用的是matlab软件来解决数值计算问题。matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,其对解决矩阵运算、绘制函数/数据图像等有非常高的效率。本文采用matlab对多项式拟合、雅雅格比法与高斯赛德尔迭代法求解方程组迭代求解,对runge-kutta 4阶算法进行编程,并通过实例求解验证了其可行性,使用不同方法对计算进行比较,得出不同方法的收敛性与迭代次数的多少,比较各种方法的精确度和解的收敛速度。 2014数值分析作业 一、必做题1、

4、问题一1.1 问题重述1.1.1 实验数据某过程涉及两变量x 和y, 拟分别用插值多项式和多项式拟合给出其对应规律的近似多项式,已知xi与yi之间的对应数据如下,xi=1,2,10yi = 34.6588 40.3719 14.6448 -14.2721 -13.3570 24.8234 75.2795 103.5743 97.4847 78.2392下列数据为另外的对照记录,它们可以作为近似函数的评价参考数据。xi =columns 1 through 71.5000 1.90002.3000 2.70003.1000 3.5000 3.9000columns 8 through 144.3

5、000 4.70005.1000 5.5000 5.90006.3000 6.7000columns 15 through 177.1000 7.5000 7.9000yi =columns 1 through 742.1498 41.4620 35.1182 24.3852 11.2732 -1.7813 -12.3006columns 8 through 14-18.1566 -17.9069 -11.0226 2.0284 19.8549 40.3626 61.0840columns 15 through 1779.5688 93.7700 102.36771.1.2 实验内容(1)用次

6、数分别为3,4,5,6的多项式拟合并给出最好近似结果f(x)。(2)用插值多项式给出最好近似结果1.2 实验方法介绍1.2.1 多项式拟合在ma tlab中,提供了polyfit函数来计算多项式拟合系数,其设定曲线拟合的目标是最小二乘法(或被称为最小方差),polyfit的函数调用格式是:p,s,mu=ployfit(x,y,n) 其中,x 和y 表示的是已知的数据,n 是多项式拟合阶数。通过最小二乘法原理得到的 拟合曲线多项式是:1121-+=n n n n p x p x p x p y1.2.2 拉格朗日插值法拉格朗日插值法是利用拉格朗日基函数来进行拟合: 拉格朗日基函数 利用拉格朗日基

7、函数,构造多项式 为拉格朗日差值多项式。1.3 实验结果1.3.1 最小二乘多项式拟合结果 (1)各次拟合结果系数3次多项式系数:-1.0326 19.3339 -94.4787 131.79444次多项式系数:-0.3818 7.3680 -42.1433 73.5334 0.74505次多项式系数: 0.0981 -3.0789 34.5020 -163.5107 304.7282 -139.50196次多项式系数:0.0194 -0.5408 5.1137 -16.8973 -0.8670 66.3750 -18.6991 (2)绘制拟合曲线利用matlab 调用函数ployfit 来进

8、行绘图,程序代码(见附录1),绘制的 3、4、5、6阶拟合图像如下图1所示: 1 2345678910-20020406080100120 原始折线曲线三次拟合曲线4次拟合曲线5次拟合曲线6次拟合曲线 1.3.2 拉格朗日插值拟合结果 (1)拟合的系数根据拉格朗日的计算原理,编写程序见附录。运行得到的结果如下表1所示: 表1 拉格朗日插值运算结果 (2)拟合的图像运行程序可以得到:拉格朗日插值拟合的图像如下图2所示:x 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 y 34.659 42.384 40.372 30.148 14.645 -1.768 -14.272

9、-18.858 -13.3570 x 5.5. 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 y2.033324.82350.84975.28093.779103.57104.16797.48487.3462 12345678910 -20 20406080100120 图2 拉格朗日插值拟合图像2、问题二2.1 问题重述2.1.1 实验数据(1)a 行分别为a 1=6,2,-1,a 2=1,4,-2,a 3=-3,1,4; b 1=-3,2,4t ;b 2=100,-200,345t 。(2) a 行分别为a 1=1,0,8,0.8,a 2=0.8,1,0.8,a 3=0.

10、8,0.8,1;b 1=3,2,1 t ; b 2=5,0,-10t 。 (3)a 行分别为a 1=1,3,a 2=-7,1;b1=4,6t 。2.1.2 实验内容用雅格比法与高斯赛德尔迭代法解下列方程组ax =b1或ax =b2,研究其收敛性。上机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。2.2 实验原理根据题目要求,分别用雅克比迭代和高斯赛德尔迭代的方法解方程组ax =b1和ax =b2,迭代法是将方程组ax=b 转化为x=bx+f ,构成了迭代格式:x (k +1) = bx k + f k = 0,1,2.n反复适用该式子,产生了x k 的向量序列,如果这

11、个向量序列收敛于x *,则有x *是方程组的解。因此,根据精度的要求选择一个合适的x k 作为近似解。这就 是线性方程组的迭代法。 雅各比算法:将系数矩阵a 分解为:a=l+u+d ,则推到的最后迭代公式为:x= -d -1( l+ u)x (k)+d -1 b其中,迭代矩阵为b j = -d -1 (l+ u )高斯-塞德尔方法:是从雅各比演变而来的,其矩阵形式为x (k+1)=-d -1( lx (k+1)+ ux (k)+d -1b其中,高斯-塞德尔迭代矩阵b g =-(d+l)-1u2.3 实验结果(1)在问题1中,有:126213100142,2,2003144345a b b -?

12、 ? ?=-=- ? ? ? ? ? ?-? 对矩阵a 进行操作可计算得01103602100060011002,100,040,b 04200031000431042l u d ?- ?-? ? ? ? ? ?=-=-=-? ? ? ? ? ? ?- ? ?- ?计算矩阵ob 的谱半径可知()00.54211b =matlab 编程得到的计算结果如下表2所示:表 2 雅格比法的迭代结果方程 是否收敛 迭代解迭代次数1 是 1 -0.7273 0.8081 0.2525x =116k =2 是236.3636 -2.0707 114.0404x =223k = 表 3 高斯赛德尔迭代法的迭代结

13、果方程 是否收敛 迭代解迭代次数1 是 1 -0.7272 0.8081 0.2525x = 110k =2是236.3637 -2.0707 114.0404x =215k = 从表 和3可知,理论分析结果与程序结果一致,利用雅格比法,方程1在 迭代16次后收敛;方程2在迭代了23次收敛。利用高斯-赛德尔法,方程1在迭代10次后收敛;方程2在迭代了15次收敛。从中可以看出高斯赛德尔法的迭代速度比雅格比法的迭代次数快。 (2)对于问题2有:1210.80.8350.810.8,2,00.80.81110a b b ? ? ? ?= ? ? ? ? ? ?-? 对矩阵a 进行操作可计算得 000

14、.80.800010000.80.8000.8,0.800,010,b 00.640.160000.80.8000100.1280.768l u d -? ? ? ?=-=-=- ? ? ? ? ? ? ? ? 计算矩阵o b 的谱半径可知()00.71551b =表4 问题2雅格比法的迭代结果方程 是否收敛 迭代解迭代次数1 是 1 nan nan nanx =11513k = 2 是2 nan nan nanx =21513k = 表5 问题2高斯赛德尔的迭代结果方程 是否收敛 迭代解迭代次数1 是 1 5.7691 0.7693 -4.2307x =131k =2 是232.6922 7

15、.6922 -42.3076x =238k = 从错误!未找到引用源。和5可知,高斯赛德尔法只用了很少的参数就得到了迭代结果,但是雅格比法却得到不收敛的结果,从这两个方程的迭代次数来说,b 值不同,其迭代的次数不一样,但是迭代是否收敛于b 值大小无关。 (3)在问题3中,有:1134,716a b ?= ? ?-? 对矩阵a 进行操作可计算得 003001003,b 007001021l u d -? =-=-= ? ? ? ?-? 计算矩阵o b 的谱半径可知()0211b =,所以迭代不收敛。调用matlab 程序中函数对问题3进行求解,其中最大迭代次数设为2000,精度要求设为0.000

16、1,初始迭代值设为(0,0,0)可得下错误!未找到引用源。表6 问题3雅格比的迭代结果方程 是否收敛 迭代解 迭代次数 1否inf nanx =-467k = 表7 问题3高斯赛德尔的迭代结果方程 是否收敛 迭代解迭代次数1 否nan nanx =235k = 从错误!未找到引用源。可知,理论分析结果与程序结果一致,方程迭代到最大次数时均没有收敛。实验结果分析:从问题1,2,3的实验结果,我们可以总结出,雅格比法只在问题1的求解过程中有作用,而高斯-赛德尔法不仅能解决问题1,而且还能解决问题2,所以高斯-赛德尔法的使用范围比雅格比法更广泛。方程组的右端系数对两种方法有一定得影响,在初始条件,精

17、度要求相同的条件下可以看出,右端系数越大,得到所需解的迭代次数越多;在同等条件下,高斯赛德迭代法较雅格比迭代法,其收敛速度更快;在某些情况下,雅格比法不能找到方程组的解,而高斯赛德迭代法能够找到方程组的解。 二、选做题3、问题三3.1 问题重述给定函数21()5,15f x xx -+=,及节点50,1,10,i i x i =-+,求其三次样条插值多项式(可取i 型或ii 型边界条件),并画图及与()f x 的图形进行比较分析。 3.2 实验原理 利用样条函数进行插值,即取插值函数为样条函数,称为样条插值。已知函数y = f (x)在区间a, b上的n +1个节点a = x0(2)在每小区间xj,xj+1(j=0,1,n-1)上s (x)是三次多项式,记为sj (x); (3)s (x)在a, b上二阶连续可微。则s (x)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论