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

下载本文档

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

文档简介

1 / 46西南交通大学数值分析上机报告数值分析上机实习报告学 号:姓 名:专 业:联系电话:任课教师:序 . 1一、必做题.2 / 46. 21、问题一 . 2问题重述 . 2实验方法介绍 . 2实验结果 .3 / 46. 32、问题二 . 5问题重述 . 5实验原理 . 5雅各比算法:将系数矩阵 A 分解为:A=L+U+D,则推到的最后迭代公式为: . 6实验结果 .4 / 46. 6二、选做题. 83、 问题三 . 8问题重述 . 8实验原理 . 95 / 46实验结果 . 9总 结 . 10序伴随着计算机技术的飞速发展,所有的学科都走向定量化和准确化,从而产生了一系列的计算性的学科分支,而数值计算方法就是解决计算问题的桥梁和工具。数值计算方法,是一种研究并解决数学问题的数值近似解方法,是在计算机上使用的解数学问题的方法。为了提高计算能力,需要结合计算能力与计算效率,因此,用来解决数值计算的软件因为高效率的计算凸显的十分重要。数值方法是用来解决数值问题的计算公式,而数值方法的6 / 46有效性需要根据其方法本身的好坏以及数值本身的好坏来综合判断。数值计算方法计算的结果大多数都是近似值,但是理论的严密性又要求我们不仅要掌握将基本的算法,还要了解必要的误差分析,以验证计算结果的可靠性。数值计算一般涉及的计算对象是微积分,线性代数,常微分方程中的数学问题,从而对应解决实际中的工程技术问题。在借助 MATLAB、 JAVA、 C+ 和 VB 软件解决数学模型求解过程中,可以极大的提高计算效率。本实验采用的是MATLAB 软件来解决数值计算问题。MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,其对解决矩阵运算、绘制函数/数据图像等有非常高的效率。本文采用 MATLAB 对多项式拟合、雅雅格比法与高斯赛德尔迭代法求解方程组迭代求解,对 Runge-Kutta 4 阶算法进行编程,并通过实例求解验证了其可行性,使用不同方法对计算进行比较,得出不同方法的收敛性与迭代次数的多少,比较各种方法的精确度和解的收敛速度。2016 数值分析作业7 / 46一、必做题1、问题一问题重述实验数据某过程涉及两变量 x 和 y, 拟分别用插值多项式和多项式拟合给出其对应规律的近似多项式,已知 xi 与 yi 之间的对应数据如下,xi=1,2,10yi = - - 下列数据为另外的对照记录,它们可以作为近似函数的评价参考数据。xi =Columns 1 through 78 / 46Columns 8 through 14Columns 15 through 17yi =Columns 1 through 7- -Columns 8 through 14- - - Columns 15 through 17实验内容9 / 46用次数分别为 3,4,5,6 的多项式拟合并给出最好近似结果 f(x)。用插值多项式给出最好近似结果实验方法介绍多项式拟合在 MATLAB 中,提供了 polyfit 函数来计算多项式拟合系数,其设定曲线拟合的目标是最小二乘法,polyfit 的函数调用格式是:p,s,mu=ployfit(x,y,n)其中,x 和 y 表示的是已知的数据,n 是多项式拟合阶数。通过最小二乘法原理得到的拟合曲线多项式是:y?p1xn?p2xn?1?pnx?pn?1拉格朗日插值法10 / 46拉格朗日插值法是利用拉格朗日基函数来进行拟合:拉格朗日基函数利用拉格朗日基函数,构造多项式为拉格朗日差值多项式。实验结果最小二乘多项式拟合结果各次拟合结果系数3 次多项式系数:- - 4 次多项式系数:- - 5 次多项式系数: - - -6 次多项式系数: - - - -11 / 46绘制拟合曲线利用 MATLAB 调用函数 ployfit 来进行绘图,程序代码,绘制的 3、4、5、6 阶拟合图像如下图 1 所示:数值分析课程上机作业计算报告班 级:学 号: 姓 名:专 业:大地测量学及测绘工程指导老师:联系电话:数值分析上机实验报告序 言12 / 46通过数值分析的理论知识的学习,此次实验将我们学过的理论知识运用于实践之中。本次实验,我选用的计算机语言为 MATLAB,其主要有一下几个特点。1编程效率高MATLAB 是一种面向科学与工程计算的高级语言,允许使用数学形式的语言编写程序,且比 BASIC、FORTRAN 和 C 等语言更加接近我们书写计算公式的思维方式,用 MATLAB 编写程序犹如在演算纸上排列出公式与求解问题。因此,MATLAB 语言也可通俗地称为演算纸式科学算法语言。由于它编写简单,所以编程效率高,易学易懂2. 用户使用方便MATLAB 语言与其他语言相比,较好的解决了上述问题,把编辑、编译、链接和执行融为一体。它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误以至语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比 VB 还要简单的语言。13 / 463. 方便的绘图功能MATLAB 的绘图是十分方便的,它有一系列绘图函数,例如线性坐标、对数坐标、半对数坐标及极坐标,均只需调用不同的绘图函数,在图上标出图题、XY 轴标注,格绘制也只需调用相应的命令,简单易行。另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。这种为科学研究着想的设计是通用的编程语言所不能及的。数值分析上机实验报告目 录1.实验一 1题目 14 / 46 1计算思路 1计算结果 1总结 15 / 46 62.第二题 7题目 7松弛思想分析 16 / 46 7问题的求解 7总结 103.第三题 17 / 46 11题目 11Runge-Kutta 法的基本思想 11问题的求解 1118 / 46问题的总结 (来自: 海达范文网:西南交通大学数值分析上机报告) 14 总结 15 附件 16实验一程序设计 19 / 46 16 实验二程序设计 16 实验三程序设计 17数值分析上机实验报告实验一:插值问题题目已知:a=-5,b=5, 以下是某函数 f(x)的一些点, 其中xk=a+(k-1) ,k=1,.,101;。20 / 46请用插值类方法给出函数 f(x)的一个解决方案和具体结果。并通过实验考虑下列问题:Ln(x)的次数 n 越高,逼近 f(x)的程度越好?高次插值收敛性如何?如何选择等距插值多项式次数 ?若要精度增高,你有什么想法? 比如一定用插值吗?逼近某个函数不用插值方式,有何变通之举?函数之间的误差如何度量,逼近的标准又是什么?(7) 如何比较好的使用插值多项式呢?计算思路本题我选用拉格朗日插值函数,拉格朗日插值函数的构建算法是从 101 组数据中等距选取 n 组数据来构造 n 阶的拉21 / 46格朗日插值函数,然后在-5,5区间选取 m 个插值点带入插值多项式计算出 m 组,本题中,我分别取了n=6,8,10,20 四种不同的阶数,然后利用 matlab 绘图命令查看插值函数图像与原函数图像的逼近效果。1数值分析上机实验报告计算结果当阶数为 5 阶时,插值图像与原函数图象如下所示表 1由图象可以看出,除了在插值点附近的拟合效果还可以,其他的点都差距比较大,总的来说效果不是很好。2数值分析上机报告22 / 46姓 名: 学 号: 专 业:联系电话:Matlab 是一种用于算法开发、本次数值分析上机实习采用Matlab 数学软件。数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。在数值分析应用中可以直接调用 Matlab 软件中已有的函数,同时用户也可以将自己编写的实用导入到 Matlab 函数库中方便自己调用。基于 Matlab 数学软件的各种实用性功能与优点,本次数值分析实习决定采用其作为分析计算工具。1语言简洁,编程效率高因为 MATLAB 定义了专门用于矩阵运算的运算符,使得矩阵运算就像列出算式执行标量运算一样简单,而且这些运算符本身就能执行向量和标量的多种运算。利用这些运算符可使一般高级语言中的循环结构变成一个简单的 MATLAB 语句,再结合 MATLAB 丰富的库函数可使变得相当简短,几条语句即可代替数十行 C 语言或 Fortran 语言语句的功能。23 / 462. 交互性好,使用方便在 MATLAB 的命令窗口中,输入一条命令,立即就能看到该命令的执行结果,体现了良好的交互性。交互方式减少了编程和调试的工作量,给使用者带来了极大的方便。因为不用像使用 C 语言和 Fortran 语言那样,首先编写源,然后对其进行编译、连接,待形成可执行文件后,方可运行得出结果。3. 强大的绘图能力,便于数据可视化MATLAB 不仅能绘制多种不同坐标系中的二维曲线,还能绘制三维曲面,体现了强大的绘图能力。正是这种能力为数据的图形化表示(即数据可视化)提供了有力工具,使数据的展示更加形象生动,有利于揭示数据间的内在关系在新版本中也加入了对 C、FORTRAN、c+、JAVA 的支持,使用时可以直接调用,也可将编写的实用程序导入到matlab 函数库中方便以后使用时调用。 本次编程所用的软件为 MATLAB,通过这次作业,对它有了初步的认识,以及对数值分析的体会更为深刻,希望为以后的学习和工24 / 46作奠定一定的基。目 录1 必做题一 插值法.4 题目. 4 分析过程. 4 计算结果. 5结果分析. 625 / 462 必做题二 雅格比法迭代与高斯赛德尔迭代. 6题目. 6 分析过程. 6 计算结果. 7 结果分析. 83 选做题一.26 / 46. 8题目 三次样条插值. 8 分析过程. 8 计算结果. 9 结果分析. 9 附录. 10附录一:必做题一 插值法代码. 11 附录二:必做题二 雅格比法迭代与高斯赛德尔迭代代码.27 / 46. 12附录三:选做题一 三次样条插值 代码. 141 必做题一 插值法题目某过程涉及两变量 x 和 y, 拟分别用插值多项式和多项式拟合给出其对应规律的近似多项式,已知 xi 与 yi 之间的对应数据如下,xi=1,2,10yi = - - 请用次数分别为 3,4,5,6 的多项式拟合并给出最好近似结果 f(x)。 请用插值多项式给出最好近似结果下列数据为另外的对照记录,它们可以作为近似函数的评价参考数据。 xi =28 / 46Columns 1 through 7Columns 8 through 14Columns 15 through 17yi =Columns 1 through 7- -Columns 8 through 14- - - Columns 15 through 17分析过程29 / 46假定拟合函数的形式分别为:32y1?a0x?a1x?a2x?a3y?bx?bx?bx?bx?b432212330 / 464y?cx?cx?cx?cx?cx?c54323123431 / 465y?dx?dx?dx?dx?dx?dx?d;65432412332 / 46456利用 matlab 编程。计算结果拟合公式和拟合图如下 三次多项式拟合结果:y1? 四次多项式拟合结果:y2? 五次多项式拟合结果:y3? 六次多项式拟合结果:y4?33 / 466?图 1 三次多项式拟合 图 2 四次多项式拟合图 3 五次多项式拟合 图 4 六次多项式拟合数值分析上机实习报告要求1应提交一份完整的实习报告。具体要求如下:要有封面,封面上要标明姓名、学号、专业和联系电话; 要有序言,说明所用语言及简要优、特点,说明选用的考量;要有目录,指明题目、程序、计算结果,图标和分析等内容所在位置,作到信息简明而完全;34 / 46要有总结,全方位总结机编程计算的心得体会;尽量使报告清晰明了,一般可将计算结果、图表及对比分析放在前面,程序清单作为附录放在后面,程序中关键部分要有中文说明或标注,指明该部分的功能和作用。2程序需完好保存到期末考试后的一个星期,以便老师索取用于验证、询问或质疑部分内容。3认真完成实验内容,可以达到既学习计算方法又提高计算能力的目的,还可以切身体会书本内容之精妙所在,期间可以得到很多乐趣。 4拷贝或抄袭他人结果是不良行为,将视为不合格。 5报告打印后按要求的时间提交给任课老师。上机实习必须在规定的时间内完成,可要求在考前或考后一个星期内提35 / 46交。不合格者和不交者不通过数值分析 2016 年上机试题1. 已知:a=-5,b=5, 以下是某函数 f(x)的一些点, 其中xk=a+(k-1) ,k=1,.,101 xk=a+,请用插值类方法给出函数 f(x)的一个解决方案和具体结果。并通过实验考虑下列问题 实验前分析:所给的节点一共有 101 个,用 Lagrange 插值发最高可以做次数 100 的插值多项式做低次插值是需要进行分组,间插值区域分成互不重叠的区间。分组时须按区间位置高低的顺序依次划分,有可能最后余下的区间节点数不足够做 n次的 Lagrange 插值(2)(m)多项式,需要特殊处理。分完组后在分得的区间套用插值公式得到:L(1),Ln,?,Ln,n36 / 46那么最后的插值多项式是分段的多项式:?L(1)(x),n?(2)?Ln(x),Ln(x)?L(m)(x),?nx?I1x?I2x?Im实验结果:下面列出其中某些次的插值多项式L5(x)的系数37 / 46(1) Ln(x)的次数 n 越高,逼近 f(x)的程度越好?答:不是,比如 f(x)?1/(1?x2)时nLn(x)?1?xj?01?n?1(x)2j?1(xj)(x?xj)?n当 n?时只在 x?内收敛,在这区间外是发散的。38 / 46(2) 高次插值收敛性如何?答:高阶倒数存在时,高次插值是收敛的,但不一定 (3) 如何选择等距插值多项式次数 ?答:等距插值采用牛顿插值公式,可以选用牛顿前插公式或牛顿后插公式 (4) 若要精度增高,你有什么想法? 比如一定用插值吗?答:提高精度可以用分段插值的方法,另外不一定非得用插值,也可以用逼近的方法。(5) 逼近某个函数不用插值方式,有何变通之举?答:逼近函数不用插值方式,可以用比原函数计算简单且函数值很接近的新函数来代替。(6) 函数之间的误差如何度量,逼近的标准又是什么?答:函数之间的误差用范数来衡量。(7) 如何比较好的使用插值多项式呢?39 / 46答: xk =Columns 1 through 7- - - - - - - Columns 8 through 14- - - - - - - Columns 15 through 21- - - Columns 22 through 28- - - Columns 29 through 35- - - Columns 36 through 42- - - Columns 43 through 49- - - Columns 50 through 56- 0 Columns 57 through 63Columns 64 through 7040 / 46Columns 71 through 77Columns 78 through 84Columns 85 through 91Columns 92 through 98Columns 99 through 101y(xk)=yk=Columns 1 through 7Columns 8 through 14- - - - - - - - - - - - - - - - - - - - Columns 15 through 2141 / 46Columns 22 through 28Columns 29 through 35Columns 36 through 42- Columns 43 through 49- - - - - Columns 50 through 56- - Columns 57 through 63- - - - Columns 64 through 70Columns 71 through 77Columns 78 through 84Columns 85 through 91Columns 92 through 9842 / 46Columns 99 through 1012. 松弛因子对 SOR 法收敛速度的影响。 用 SOR 法求解方程组 Ax=b,其中?4?1?1?4.1.1.?41?-3?-2?-2?

温馨提示

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

评论

0/150

提交评论