数值分析上机指导书_第1页
数值分析上机指导书_第2页
数值分析上机指导书_第3页
数值分析上机指导书_第4页
数值分析上机指导书_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、数值分析上机指导书曾繁慧 编著辽宁工程技术大学理学院目 录MATLAB平台简介1实验1 数值计算误差与MATLAB语言3实验2 非线性方程与MATLAB应用4实验3 线性方程组与MATLAB应用5实验4 插值法与MATLAB应用7实验5 函数逼近与MATLAB应用4实验6 数值微积分与MATLAB应用6实验7 常微分方程与MATLAB应用7MATLAB平台简介MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK

2、和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MATLAB为平台加以重建。在时间进入20世纪

3、九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。Mathcad因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其

4、是信息科学刊物),都可以看到MATLAB的应用。在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。MATLAB的一些功能如下:MATLAB拥有世界一流水平的数值计算函数库。MATLAB自问世起,就抱定一个宗旨:其所有数值计算算法都必须是国际公认的、最先进的、可靠算法;其程序由

5、世界一流专家编制,并经高度优化;而执行算法的指令形式则必须简单、易读易用。MATLAB正是仰赖这些高质量的数值计算函数赢得了声誉。MATLAB数值计算函数库的另一个特点是其内容的基础性和通用性。它正由于这一特点,而适应了诸如自动控制、信号处理、动力工程、电力系统等应用学科的需要,并进而开发出一系列应用工具包。MATLAB的图形可视能力在所有数学软件中是首屈一指的。MATLAB的图形系统有高层和低层两个部分组成。高层指令友善、简便;低层指令细腻、丰富、灵活。一般说来,不管二元函数多么复杂,它的三维图形,仅需10条左右指令,就能得到富于感染力的表现。数据和函数的图形可视手段包括:线的勾画、色图使用

6、、浓谈处理、视角选择、透视和裁剪。MATLAB有比较完备的图形标识指令,它们可标注:图名、轴名、解释文字和绘画图例。MATLAB的图形用户界面(GUI)以其友好性和直观易懂性在软件编程上被广泛使用。开发一个GUI程序的过程主要有:布局好图形用户界面对象和给这个图形用户界面编写代码。具体的开发步骤:GUI界面的设计和布局、GUI的编程、菜单的设计和布局以及菜单的编程。MATLAB的控制仿真功能SIMULINK。这是一个交互式操作的动态系统建模、仿真、分析集成环境。它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而大大提高了人们对非线性、随机动态系统的认知能力。MATLA

7、B开发了与外部进行直接数据交换的组件,打通了MATLAB进行实时数据分析、处理和硬件开发的道路。MATLAB的符号计算工具箱。1993年MathWorks公司从加拿大滑铁卢大学购得Maple的使用权,以Maple为“引擎”开发了Symbolic Math Toolbox 1.0。MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。MATLAB的Notebook功能。MathWorks公司瞄准应用范围最广的Word ,运用DDE和OLE,实现了MATLAB与Word的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一

8、体的高水准环境。影像处理也是MATLAB最主要的特色与功能之一。影像是指经过摄影而获得的像。影像处理的科学定义是:使用计算机将数字影像信息进行数字化,并进一步予以分析、加强、编码、解译、分割、辨识、复原、强化、缩放、着色等及与之相关的技术。事实上MATLAB几乎可以设计与处理所有的影像处理方面的问题。它不但可以生成各种各样的影像,而且处理起来具有更高的理论层次水平。比如对一幅影像它可以取出该影像的外缘,而舍弃其它部分不要,它还可以对该影像进行傅立叶分析与处理把影像处理在频域内进行。数字信号的处理。MATLAB对数字信号进行基本处理,包括进行快速傅立叶变换、求信号的功率谱和滤波等,从被处理的信号

9、中获得我们想要的信息。MATLAB的神经网络功能。神经网络这门学科是受了人脑这部高度智能、发达的“机器”的启发,而逐渐发展起来的一门前沿技术科学。神经网络的优势在于它的学习性和自动调整性,所以非常适合于处理非线性的问题。它被广泛应用于各行各业上,例如语音识别、实时语言翻译、目标的跟踪和识别、工业方面的过程控制等等。神经网络无论是工业应用还是科学研究都是一个有力的工具,有着巨大的潜力。它的应用主要是偏重于特征的提取、过程的控制和状态的预测。实验1 数值计算误差与MATLAB语言要求:掌握MATLAB语言,理解误差与数值稳定性。1实验目的:掌握MATLAB语言的程序设计。实验内容:对以下问题,编写

10、M文件。(1)用起泡法对10个数由小到大排序。即将相邻两个数比较,将小的调到前头。(2)有一个4×5矩阵,编程求其最大值及其所处的位置。(3)编程求 。(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹有多高?(5)有一函数,写一程序,输入自变量的值,输出函数值。2实验目的:掌握MATLAB语言的图形绘制。实验内容:(1)在同一平面中的两个窗口分别画出心形线和马鞍面。并且1)在图形上加格栅、图例和标注;2)定制坐标;3)以不同角度观察马鞍面。(2)以不同的视角观察球面和圆柱面 所围区域。3实验目的:理解算法的数值稳

11、定性。实验内容:对于积分,有下面两个算法。算法1:,;算法2:,。数值对比说明舍入误差与算法的数值稳定性的关系。实验2 非线性方程与MATLAB应用要求:理解非线性方程数值求解思想,掌握常用算法的设计,掌握用MATLAB实现的数值解法。1. 实验目的:比较不同方法的计算量。实验内容:比较求的根到三位小数所需的计算量:(1)在区间0,1内用二分法;(2)用迭代法,取初值;(3)用牛顿迭代法,取初值。2. 实验目的:研究不同的初值对牛顿迭代过程的影响。实验内容:用牛顿法求方程在区间上误差不大于的根。分别取初值、进行计算,比较它们的迭代次数。3. 实验目的:研究迭代法的收敛性与收敛速度。实验内容:1

12、225年,达·芬奇研究了方程并得到它的一个根。没有人知道他用什么方法得到的。分别对上述方程建立迭代法(1);(2)。分别研究这两个迭代法的收敛性、收敛速度以及用斯蒂芬森加速的可能性。通过数值计算加以比较,请自行设计一种比较形象的记录方式,如利用MATLAB的图形功能。4. 实验目的:研究一般迭代公式的复杂行为,初步看到混沌现象。实验内容:考虑迭代公式。取中不同的值,并取进行迭代,画出不同情况下的的图形,并分析取值与图形的关系。你将对于迭代法有更深刻的理解。实验3 线性方程组与MATLAB应用要求:理解线性方程组直接法与迭代法思想,掌握常用算法的设计,掌握用MATLAB实现的数值解法。

13、1实验目的:理解矩阵的范数与条件数。实验内容:已知矩阵 求,和。2实验目的:研究高斯消去法的数值稳定性(出现小主元)。实验内容:设方程组,其中(1),(2),分别对以上两个方程组(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的?(2)用列主元消去法求得L和U及解向量;(3)用不选主元的高斯消去法求得L和U及解向量;(4)观察小主元并分析对计算结果的影响。3实验目的:研究线性方程组直接法的时间复杂性。实验内容:分别用高斯消去法、LU分解法、追赶法、平方根法解方程组取,比较所用时间。4实验目的:理解条件数的意义和方程组的性态对解向量的影响。实验内容:设和,其中,由相应矩阵的元素计算,其计算公

14、式为。对取,下面均用MATLAB函数求方程组的解。(1)取=4,6,8,分别计算和,判断和是否为病态矩阵?随的增大,矩阵性态的变化如何?(2)取=6,分别求出两个方程组的解向量;(3)取=6,不变,对的元素和分别加一个摄动10-6,分别求出的解向量;(4)取=6,不变,对的元素和分别加一个摄动10-7,分别求出的解向量;不变,对的元素加一个摄动10-4,求出的解向量;(5)观察和分析和的微小扰动对解向量的影响,得出你的结论;(6)求,和的计算结果和理论估计。5. 实验目的:理解雅可比迭代法与高斯塞德尔迭代法。实验内容:设是阶矩阵。取方程组的精确解,并且对于,由此形成右端向量。取初始向量,分别取

15、,用雅可比迭代法与高斯塞德尔迭代法求解,并分别对,记录所需的迭代次数。分析结果并得出你的结论。6. 实验目的:理解迭代法收敛的含义以及迭代初值和方程组系数矩阵性质对收敛速度的影响。实验内容:用迭代法解方程组,其中(1)选取不同的初始向量和不同的方程组右端向量,给定迭代误差要求,用雅可比迭代法与高斯塞德尔迭代法计算,观测得到的迭代向量序列是否收敛?若收敛,记录迭代次数,分析计算结果并得出你的结论;(2)取定初始向量和右端向量,将的主对角线元素成倍增长若干次,非主对角线元素不变,每次用雅可比迭代法计算。要求迭代误差满足,比较收敛速度,分析现象并得出你的结论。实验4 插值法与MATLAB应用要求:理

16、解插值的基本原理,掌握常用算法的设计,掌握用MATLAB实现插值。1. 实验目的:研究人口数据的插值与预测。实验内容:下表给出了从1940年到1990年的美国人口,用插值方法推测1930年、1965年、2010年人口的近似值。美国人口数据年194019501960197019801990人口:千132,165151,326179,323203,302226,542249,6331930年美国的人口大约是123203千人,你认为你得到的1965年和2010年的人口数字精确度如何?2. 实验目的:理解插值的基本原理。实验内容:已知数据如下0.20.40.60.81.00.97986520.9177

17、7100.80803480.63860930.3843735(1) 设计全区间上拉格朗日插值或者Newton插值程序,并在第一个图中画出离散数据及插值函数曲线。(2) 在第一个图中画出分段线性插值函数,并与(1)作对比说明。(3) 对于自然边界条件,在第二个图中画出离散数据及满足边界条件的三次样条插值函数。(4) 对于第一种边界条件,在第三个图中画出离散数据及满足边界条件的三次样条插值函数。3. 实验目的:研究高次插值的数值不稳定性。实验内容:这是Runge提出的著名的多项式插值问题。设函数,在-1,1上取个等距节点,构造次Lagrange插值多项式。Runge提出一个问题,随着的增加,是否收

18、敛于?答案是,对一些是收敛的,但对另一些不成立。(1) 在同一个图上,分别画出的与。对Runge现象分析,对什么样的有,当时?(2) 改变插值点的分布,使它们不等间距,这样做对收敛有何影响?你是否能找到一种分布,使得对-1,1区间内所有都成立?4. 实验目的:一维插值的应用画图。实验内容:画你自己的手的形状,在MATLAB中输入figure('position',get(0,'screensize')axes('position',0 0 1 1)x,y=ginput;将你的手掌张开放在计算机屏幕上,然后使用计算机鼠标选取一系列点勾勒出手的轮廓,

19、按回车键结束ginput过程,这样就获得了一系列你的手掌外形数据点。也可以这样获得数据点,先把手放在一张白纸上,并用笔画出它的轮廓线,然后将纸贴在计算机屏幕上,透过纸能看到平面上的鼠标,并通过ginput记录下轮廓上的点。将和坐标值看作是两个独立变量的函数,独立变量的取值为从1到记录的点的数目。下面程序利用MATLAB的插值函数进行插值,并画出你的手掌外形轮廓。n=length(x);s=(1:n)'t=(1:0.05:n)'u=interp1(s,x,t,'spline');v=interp1(s,y,t,'spline');clf reset

20、,plot(x,y,'.',u,v,'-'),%xlabel('X'),ylabel('Y')5. 实验目的:一维插值的应用机床加工。实验内容:待加工零件的外形根据工艺要求由一组数据给出(在平面情况下),用程控铣床加工时每一刀只能沿方向和方向走非常小的一步,这就需要从已知数据得到加工所要求的步长很小的坐标。机翼断面的下轮廓线上的部分数据如表/m0 3 5 7 9 11 12 13 14 15/m0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6求出加工时每改变0.1m时的坐标,并画出相应的轮廓曲线。6. 实

21、验目的:二维插值的应用山区地貌图。实验内容:利用MATLAB的peaks函数生成某山区的一些地点及其高度三维数据(单位:m)。命令格式:x,y,z=peaks(n),生成的n阶矩阵x,y,z为测量的山区地点三维数据。根据peaks函数生成的数据画出该山区的地貌图和等值线图。实验5 函数逼近与MATLAB应用要求:理解函数逼近的基本原理,掌握常用算法的设计,掌握用MATLAB实现逼近与数据的最小二乘拟合。1实验目的:最小二乘拟合的经验公式。实验内容:某类疾病发病率为和年龄段(每五年为一段,例如05岁为第一段,610岁为第二段)之间有形如的经验关系,观测得到的数据表如下1234567890.898

22、2.383.071.842.021.942.222.774.02101112131415161718194.765.466.5310.916.522.535.750.661.681.8(1)用最小二乘法确定模型中的参数和。(2)利用MATLAB画出离散数据及拟合函数图形。(3)利用MATLAB画出离散点处的误差图,并计算相应的均方误差。(4)谈一谈你对最小二乘拟合的理解,并举出一个应用此方法的例子。2实验目的:最小二乘拟合的经验公式。实验内容:在某科研中,观察水份的渗透速度,测得时间与水的重量的数据如下 (秒)(克)4.224.023.853.593.443.022.59已知与之间的关系有经验

23、公式, 试用最小二乘法(用Matlab中的函数polyfit或非线性拟合函数nlinfit)确定和。3实验目的:最小二乘拟合模型。实验内容:某年美国轿车价格的调查资料如表,其中表示轿车的使用年数,表示相应的平均价格,试分析用什么形式的曲线来拟合表中的数据,并预测使用4.5年后轿车的平均价格大致为多少?1 2 3 4 5 6 7 8 9 102615 1943 1494 1087 765 538 484 290 226 2044实验目的:理解不同的逼近方法。实验内容:对被逼近函数,在区间0,1上分别利用插值方法、最佳一致逼近以及最佳平方逼近三种方法求形如的逼近函数,并进行比较。再画出每种方法的逼

24、近函数曲线以及误差图。5. 实验目的:研究最佳平方逼近多项式的收敛性质。实验内容:取函数,在-1,1上以勒让德多项式为基函数,对于构造最佳平方逼近多项式,令,将的曲线画在一个图上。令,画出的曲线。做出之间的最小二乘曲线,能否提出关于收敛性的猜测。实验6 数值微积分与MATLAB应用要求:理解数值微积分思想,掌握常用算法的设计,掌握用MATLAB实现数值微积分。1. 实验目的:理解复化求积公式。实验内容:对于定积分。(1)分别取利用复化梯形公式计算,并与真值比较。再画出计算误差与之间的曲线。(2)取0,1上的9个点,分别用复化梯形公式和复化辛普森公式计算,并比较精度。2.实验目的:数值积分的应用(选择适当的求积函数计算定积分)。实验内容:地球卫星的飞行轨道是一个椭圆,椭圆周长的计算公式是其中,是椭圆的长半轴,是地球中心与轨道中心(椭圆中心)的距离。令为近地点距离,为远地点距离,(km)为地球半径,则,。我国第一颗人造

温馨提示

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

评论

0/150

提交评论