




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数值分析上机实习报告 学 号: 姓 名: 专 业: 联系电话: 任课教师:专心-专注-专业序伴随着计算机技术的飞速发展,所有的学科都走向定量化和准确化,从而产生了一系列的计算性的学科分支,而数值计算方法就是解决计算问题的桥梁和工具。数值计算方法,是一种研究并解决数学问题的数值近似解方法,是在计算机上使用的解数学问题的方法。为了提高计算能力,需要结合计算能力与计算效率,因此,用来解决数值计算的软件因为高效率的计算凸显的十分重要。数值方法是用来解决数值问题的计算公式,而数值方法的有效性需要根据其方法本身的好坏以及数值本身的好坏来综合判断。数值计算方法计算的结果大多数都是近
2、似值,但是理论的严密性又要求我们不仅要掌握将基本的算法,还要了解必要的误差分析,以验证计算结果的可靠性。数值计算一般涉及的计算对象是微积分,线性代数,常微分方程中的数学问题,从而对应解决实际中的工程技术问题。在借助MATLAB、 JAVA、 C+ 和VB软件解决数学模型求解过程中,可以极大的提高计算效率。本实验采用的是MATLAB软件来解决数值计算问题。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,其对解决矩阵运算、绘制函数/数据图像等有非常高的效率。本文采用MATLAB对多项式拟合、雅雅格比法与高斯赛德尔迭代法求解方程组迭代求解,对Runge
3、-Kutta 4阶算法进行编程,并通过实例求解验证了其可行性,使用不同方法对计算进行比较,得出不同方法的收敛性与迭代次数的多少,比较各种方法的精确度和解的收敛速度。2014数值分析作业一、必做题1、问题一 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下列数据为另外的对照记录,它们可以作为近似函数
4、的评价参考数据。xi = Columns 1 through 7 1.5000 1.9000 2.3000 2.7000 3.1000 3.5000 3.9000 Columns 8 through 14 4.3000 4.7000 5.1000 5.5000 5.9000 6.3000 6.7000 Columns 15 through 17 7.1000 7.5000 7.9000yi = Columns 1 through 7 42.1498 41.4620 35.1182 24.3852 11.2732 -1.7813 -12.3006 Columns 8 through 14 -18
5、.1566 -17.9069 -11.0226 2.0284 19.8549 40.3626 61.0840 Columns 15 through 17 79.5688 93.7700 102.36771.1.2 实验内容(1)用次数分别为3,4,5,6的多项式拟合并给出最好近似结果f(x)。(2)用插值多项式给出最好近似结果1.2 实验方法介绍1.2.1 多项式拟合在MATLAB中,提供了polyfit函数来计算多项式拟合系数,其设定曲线拟合的目标是最小二乘法(或被称为最小方差),polyfit的函数调用格式是:p,s,mu=ployfit(x,y,n)其中,x 和y表示的是已知的数据,n是
6、多项式拟合阶数。通过最小二乘法原理得到的拟合曲线多项式是:1.2.2 拉格朗日插值法拉格朗日插值法是利用拉格朗日基函数来进行拟合:拉格朗日基函数 利用拉格朗日基函数,构造多项式为拉格朗日差值多项式。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.
7、5408 5.1137 -16.8973 -0.8670 66.3750 -18.6991(2) 绘制拟合曲线利用MATLAB调用函数ployfit来进行绘图,程序代码(见附录1),绘制的3、4、5、6阶拟合图像如下图1所示:1.3.2 拉格朗日插值拟合结果(1) 拟合的系数根据拉格朗日的计算原理,编写程序见附录。运行得到的结果如下表1所示:x1.01.52.02.53.03.54.04.55.0y34.65942.38440.37230.14814.645-1.768-14.272-18.858-13.3570x5.5.6.06.57.07.58.08.59.09.5y2.033324.82
8、350.84975.28093.779103.57104.16797.48487.3462表1 拉格朗日插值运算结果(2) 拟合的图像 运行程序可以得到:拉格朗日插值拟合的图像如下图2所示:图2 拉格朗日插值拟合图像2、问题二 2.1 问题重述2.1.1 实验数据(1)A行分别为A1=6,2,-1,A2=1,4,-2,A3=-3,1,4; b1=-3,2,4T;b2=100,-200,345T。(2) A行分别为A1=1,0,8,0.8,A2=0.8,1,0.8,A3=0.8,0.8,1;b1=3,2,1 T; b2=5,0,-10T。(3)A行分别为A1=1,3,A2=-7,1;b1=4,6
9、T。2.1.2 实验内容用雅格比法与高斯赛德尔迭代法解下列方程组Ax=b1或Ax=b2,研究其收敛性。上机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。2.2 实验原理 根据题目要求,分别用雅克比迭代和高斯赛德尔迭代的方法解方程组Ax=b1和Ax=b2,迭代法是将方程组Ax=b转化为x=Bx+f,构成了迭代格式:x (k +1) = Bxk + f k = 0,1,2.n反复适用该式子,产生了x k 的向量序列,如果这个向量序列收敛于x *,则有x *是方程组的解。因此,根据精度的要求选择一个合适的x k作为近似解。这就是线性方程组的迭代法。雅各比算法:将系数矩阵A分
10、解为:A=L+U+D,则推到的最后迭代公式为:x= -D-1( L+ U)x(k)+D-1 b其中,迭代矩阵为BJ= -D-1 (L+ U )高斯-塞德尔方法:是从雅各比演变而来的,其矩阵形式为x(k+1)=-D-1( Lx(k+1)+ Ux(k)+D-1b其中,高斯-塞德尔迭代矩阵BG=-(D+L)-1U2.3 实验结果(1)在问题1中,有:对矩阵A进行操作可计算得 计算矩阵的谱半径可知,所以迭代收敛。之后利用MATLAB编程得到的计算结果如下表2所示:表 2 雅格比法的迭代结果方程是否收敛迭代解迭代次数1是2是表 3 高斯赛德尔迭代法的迭代结果方程是否收敛迭代解迭代次数1是2是从Error
11、! Reference source not found.和3可知,理论分析结果与程序结果一致,利用雅格比法,方程1在迭代16次后收敛;方程2在迭代了23次收敛。利用高斯-赛德尔法,方程1在迭代10次后收敛;方程2在迭代了15次收敛。从中可以看出高斯赛德尔法的迭代速度比雅格比法的迭代次数快。(2)对于问题2有:对矩阵A进行操作可计算得 计算矩阵的谱半径可知,所以迭代也收敛。调用编写函数对问题2进行求解,其中最大迭代次数设为2000,精度要求设为0.0001,初始迭代值设为(0,0,0)表4 问题2雅格比法的迭代结果方程是否收敛迭代解迭代次数1是2是表5 问题2高斯赛德尔的迭代结果方程是否收敛迭
12、代解迭代次数1是2是从Error! Reference source not found.和5可知,高斯赛德尔法只用了很少的参数就得到了迭代结果,但是雅格比法却得到不收敛的结果,从这两个方程的迭代次数来说,b值不同,其迭代的次数不一样,但是迭代是否收敛于b值大小无关。(3)在问题3中,有:对矩阵A进行操作可计算得 计算矩阵的谱半径可知,所以迭代不收敛。调用MATLAB程序中函数对问题3进行求解,其中最大迭代次数设为2000,精度要求设为0.0001,初始迭代值设为(0,0,0)可得下Error! Reference source not found.。表6 问题3雅格比的迭代结果方程是否收敛迭
13、代解迭代次数1否表7 问题3高斯赛德尔的迭代结果方程是否收敛迭代解迭代次数1否从Error! Reference source not found.可知,理论分析结果与程序结果一致,方程迭代到最大次数时均没有收敛。实验结果分析:从问题1,2,3的实验结果,我们可以总结出,雅格比法只在问题1的求解过程中有作用,而高斯-赛德尔法不仅能解决问题1,而且还能解决问题2,所以高斯-赛德尔法的使用范围比雅格比法更广泛。方程组的右端系数对两种方法有一定得影响,在初始条件,精度要求相同的条件下可以看出,右端系数越大,得到所需解的迭代次数越多;在同等条件下,高斯赛德迭代法较雅格比迭代法,其收敛速度更快;在某些情
14、况下,雅格比法不能找到方程组的解,而高斯赛德迭代法能够找到方程组的解。二、选做题3、 问题三 3.1 问题重述给定函数,及节点,求其三次样条插值多项式(可取I型或II型边界条件),并画图及与的图形进行比较分析。3.2 实验原理利用样条函数进行插值,即取插值函数为样条函数,称为样条插值。已知函数y = f (x)在区间a, b上的n +1个节点a = x0<x1< < xn = b上的值yj=f (xj)(j=0,1,n),求插值函数S (x)使其满足:(1)S(xj)=yj(j=0,1,n);(2)在每小区间xj,xj+1(j=0,1,n-1)上S (x)是三次多项式,记为S
15、j (x);(3)S (x)在a, b上二阶连续可微。则S (x)称为f (x)的三次样条插值函数,它通过上述给定点,为二阶连续可导的分段三次多项式函数。3.3 实验结果采用三弯矩法来进行三次样条插值,取II型边界条件,令插值函数在两个端点处的二阶导数:M0和Mn值为0。由于得到的线性方程组系数矩阵为三对角阵,因此在求解线性方程组时采用追赶法,得到结果如下图3所示。图3 三次样条插值函数图从图中可以看出,使用三弯矩法对此函数进行拟合,精确度很高,结果准确。 总 结通过本次实验,我意识到了编程在数值分析实验中的重要性,理论知识不仅能有了很大的理解提升,而且自身的编程能力也有了很大的进步。在本次实验中,我接触了MATLAB软件,并学习了基础的一些编程语言,我也深深的意识到,想学习好专业课,想发表高端论文,学习MATLAB软件的数值分析应用是十分重要的。而在MATLAB编程过程中,我对函数的定义、调用等有了更深一步地了解。这三个实验,我了解到了多次拟合的实现方法、雅格比和高斯-赛德尔迭代法以及三次样条插值的MATLAB实现方法。本来在学习数值分析的过程中,我在理解方面存在一些偏差,但是通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实战经验2024年高级会计考试试题及答案
- 无人机人员安全培训试题及答案
- 施工风险评估方法试题及答案
- 2025年消防工程与安全文化试题及答案
- 完美备考2025年入团试题及答案秘笈
- 审计中应对重大财务风险试题及答案
- 2024年高级审计师考试考点更新与试题及答案
- 护理患者关系尝试试题及答案分析
- 无人机与气象学知识的交汇点试题及答案
- 护理人员的情绪管理策略初级护师考试试题及答案
- 2023年自考外国新闻事业史历年考题及部分答案
- 安徽汇宇能源发展有限公司25万吨年石脑油芳构化项目环境影响报告书
- 2023年云南省社会科学界联合会直属事业单位招聘2人笔试备考试题及答案解析
- 新《行政处罚法》亮点ppt解读
- DB35T 2092-2022 高速公路边坡工程养护技术规范
- VSM(价值流图中文)课件
- 上海交通大学医学院附属仁济医院-日间手术管理信息化实践与发展
- 有源、无源滤波器实验报告
- SWOT分析法很全面课件
- 供应室手工清洗操作流程课件
- 消防应急疏散演练人员签到表(标准通用版)
评论
0/150
提交评论