数值分析上机实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

数值分析上机报告学院:专业:学号:姓名:指导老师:联系电话:目录1序言............................................................................................................31.1MATLAB语言特点............................................................................31.2选用原因...........................................................................................42第一题..........................................................................................................52.1题目....................................................................................................52.2计算结果分析.....................................................................................63第二题..........................................................................................................93.1题目....................................................................................................93.2结果分析.............................................................................................94第三题........................................................................................................114.1题目..................................................................................................114.2计算结果分析...................................................................................11附录一多项式拟合程序代码..........................................................................14附录二多项式插值程序代码..........................................................................15附录三jacobi迭代程序代码...........................................................................16附录四Gausssidel迭代程序代码.................................................................17附录五四阶Runge-Kutta算法程序代码........................................................18总结与体会.....................................................................................................191序言1.1MATLAB语言特点近年来MATLAB之所以能在各个行业得到广泛的应用,主要得益于MATLAB语言与其他编程语言相比不同的特点:高效的矩阵运算机制;多样化的操作途径;功能强大的工具箱;良好的扩充能力;完善的帮助系统。1.高效的矩阵运算机制MATLAB软件是基于矩阵计算开发的,在其他编程语言中需要使用多个for语句才能完成的操作,在MATLAB中直接使用矩阵即可完成计算,因而MATLAB在数据计算分析,特别是对海量数据的处理方面表现出相比其他的编程语言更大的优势。2.多样化的操作途径MATLAB语言为用户提供了多种操作方式选择。用户可以编写代码实现各种功能,代码可重复利用,同时,不擅长编程的用户也可以通过MATLAB图形界面操作,完成MATLAB的相应功能。3.功能强大的工具箱对于算法的开发,MATLAB提供了大量现成的函数,用户可以直接调用。MATLAB软件对目前主流的算法都提供了现成的函数,并封装成一个个适用于不同领域的算法工具箱。常用的工具箱包括数学类、经济类、信号处理类工具箱,同时随着MATLAB软件版本的更新,不断有功能更强大的工具箱添加到MATLAB中。MATLAB语言的这一特点,将大大节省算法开发的时间,用户无须详细了解算法的细节,只要掌握MATLAB中算法相应函数的调用即可。4.良好的扩展能力利用MATLAB语言编写的程序具有良好的扩展能力,可以方便地与各种编程语言链接。用户可以方便地在MATLAB中调用其他语言已编写好的程序,同时在其他语言中也可以方便地调用MATLAB的程序。MATLAB语言具有良好的接口编程技术。5.完善的帮助系统完善的帮助系统是MATLAB的又一突出特点,MATLAB向用户提供了多种帮助途径。通过MATLAB的帮助系统,用户可以获取MATLAB常用函数的使用方法及应用实例,而且这种帮助可以是实时的、在线的。同时,为了便于用户更好地使用MATLAB软件,在MATLAB中的主要算法都是可以直接看到源代码的。1.2选用原因本次数值分析上机实习采用MATLAB语言进行编程,主要是基于以下几方面的考虑:1.编程效率高MATLAB语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比BASIC、FORTRAN和C等语言更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列公式与求解问题。因此,也可通俗地称MATLAB语言为演算纸式科学算法语言。由于它编程简单,所以编程效率高,易学易懂。2.高效方便的矩阵和数组运算MATLAB语言像BASIC、FORTRAN和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变的照搬到数组建的运算中。有些如算术运算符只要增加“.”就可以用于数组建间的运算。另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解数字图像处理问题时显得大为简洁、高效、方便,这是其他高级语言所不能相比的。3.用户使用方便MATLAB语言是一种解释执行的语言(在没有被专门的工具编译之前),它灵活、方便,起跳时程序手段丰富,调试速度快,需要学习时间少。人们用任何一种语言编程和调试一般都要经过四个步骤:编辑、编译、连接,以及执行和调试。各个步骤之间是顺序关系,编程的过程就是在他们之间作瀑布型的循环。MATLAB语言与其它语言相比,较好的解决了上述问题,把编辑、编译、连接和执行融为一体。它能在同一画面上进行灵活操作,快速排除输入程序的书写错误、语法错误甚至语义错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言,更不用谈C和C++。4.扩充性强,交互性好MATLAB语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,且这些库函数同用户文件在形式上一样,所以用户文件也可以作为MATLAB的库函数来调用。婴儿,用户可以根据自己的需要方便的建立和扩充新的库函数,提高MATLAB使用效率和扩充它的功能。另外,为了充分利用FORTRAN、C等语言的资源,包括用户自己编好的FORTRAN、C语言程序,通过建立M文件的形式,混合编程,方便地调用有关的FORTRAN、C语言子程序,还可以在C语言和FORTRAN语言中方便的使用MATLAB的数值计算功能。良好的交互性增加了代码的重用性。综上所述,MATLAB最适用的范围是科学计算,对于本实习需要处理矩阵运算来实现图像处理算法来说,MATLAB再合适不过了。2第一题2.1题目某过程测涉及两变量x和y,拟分别用插值多项式和多项式拟合给出其对应规律的近似多项式,已知xi与yi之间的对应数据如下,xi=1,2,…,10yi=34.658840.371914.6448-14.2721-13.357024.823475.2795103.574397.484778.2392(1)请用次数分别为3,4,5,6的多项式拟合并给出最好近似结果f(x)。(2)请用插值多项式给出最好近似结果下列数据为另外的对照记录,它们可以作为近似函数的评价参考数据。xi=Columns1through71.50001.90002.30002.70003.10003.50003.9000Columns8through144.30004.70005.10005.50005.90006.30006.7000Columns15through177.10007.50007.9000yi=Columns1through742.149841.462035.118224.385211.2732-1.7813-12.3006Columns8through14-18.1566-17.9069-11.02262.028419.854940.362661.0840Columns15through1779.568893.7700102.36772.2计算结果分析(1)根据实验数据,分别使用3,4,5,6次多项式拟合,可得拟合的多项式如下,并分别作图:n=3;p=[-1.032619.334-94.479131.79]n=4;p=[-0.381857.368-42.14373.5330.74498]n=5;p=[0.098075-3.078934.502-163.51304.73-139.5]n=6;p=[0.019359-0.540795.1137-16.897-0.8669666.375-18.699]上四幅图是多项式拟合曲线与原散点连线曲线的比较。明显可以看到,随着多项式拟合次数的增加,曲线的拟合度也越来越好,基本与连点曲线一致。最好近似结果是n=6时多项式拟合,表达式为:fx=0.019359*x6-0.54079*x5+5.1137*x4-16.897*x3-0.86696*x2+66.375*x1-18.699(2)根据原散点构建拉格朗日插值多项式,对给出的xi的数值进行插值得到yi,在下图可以看到利用拉格朗日插值多项式插值的图像与曲线拟合度很好。yi=Columns1through1342.384041.494735.074224.360111.2792-1.7683-12.2977-18.1626-17.9118-11.02102.033319.856540.3584Columns14through1761.079479.570993.7788102.37133第二题3.1题目用雅格比法与高斯-赛德尔迭代法解下列方程组Ax=b,研究其收敛性,上机验证理论分析是否正确,比较它们的收敛速度,观察右端项对迭代收敛有无影响。(1)A行分别为A1=[6,2,-1],

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功