当前位置:文档之家› Matlab论文1

Matlab论文1

论文课题:MATLAB在计算机辅助数值分析与计算中的应用班级:×××学号:×××姓名:徐峻成绩:×××时间:2010年12月22日论文题目:MATLAB在计算机辅助数值分析与计算中的应用徐峻摘要:简要介绍了MATLAB语言,并把MATLAB语言应用于计算机辅助数值分析与计算中,在MATLAB软件环境下研制了计算机辅助数值分析与计算(CANAC)软件包,最后用一个典型实例较为深入地对其使用方法、特点和效果进行讨论。

实践表明,该软件包使用效果良好。

关键词:MATLAB;计算机辅助数值分析;软件包。

1、引言MATLAB是一种面向科学与工程计算的高级语言,同时也是适用于科学和工程计算的数学软件系统。

作为数值软件的MATLAB,对计算数学领域的特定问题类型,如数值线性代数、微分方程数值解、数值逼近、最优化方法、数值积分等进行求解,可以得到问题的离散解或近似的解析表达式。

针对每一类问题的求解, MATLAB都能给出该类问题的各种高效算法。

例如,求解非线性规划问题,MATLAB 给出了单纯形搜索法、最速下降法、DFP变尺度法、BFGS拟牛顿法和最小二乘法等算法,其中既有解析算法,又有直接算法,而且与每个算法相匹配的还有一维搜索法。

MATLAB具有一个阵容强大、范围广泛的基本运算体系。

此外,MATLAB 极其简洁的语言结构支持结构化程序设计,且具有超过任一高级语言系统的调试技术。

MATLAB高度智能化的调试技术是用户开发MATLAB程序的有力工具。

基于上述思想,为了把MATLAB矩阵运算的优点更好地应用于工程和教学实践中,作者在MATLAB软件环境下研制了CANAC软件包。

采用CANAC软件包,利用计算机及其特有的功能不仅能准确、快速地实现数值分析与计算中所涉及到的逼近问题、线性代数问题、非线性方程及方程组的数值解法问题以及常微分方程的数值解法等,而且可把这些数值分析与计算的结果直接应用于实际应用中。

相比用C、Basic或Fortran等语言研制的类似软件包,CANAC软件包的开发工作量相对小了很多,而且该软件包还具有功能强大、操作简便、形式灵活、界面美观而简洁、实用性强等优点,满足快速高效的现代生活和工作节奏。

CANAC软件包的研制能使工程技术人员从繁重的手工数值计算与分析中解脱出来,把有限的时间和精力投入到更重要的工作中。

基于MATLAB语言编制的CANAC软件包具有很强的推广意义和使用价值。

2、CANAC软件包的研制采用计算机对数值分析与计算中涉及到的基本问题进行计算机辅助设计和分析不仅高效、准确,而且可以直观地看出结果,便于对系统的整体模型进行描述与分析。

2.1主界面的设计在MATLAB环境下图形界面的设计比C、Basic和Fortran等语言简单得多。

一个简单的命令,如窗口句柄=figure(属性1,属性值1,属性2,属性值2,⋯),就可以建立起一个窗口,其中属性包括该窗口的Color、InvertHardcopy、MenuBar、Name、NumberTitle、Position、Units、Re2size、Pointer、Visible、UserData等等。

用户用“fig2ure(窗口句柄)”函数马上可显示相应窗口,用“uimenu()”函数可建立自己所需的菜单系统,用“uicontrol()”函数又可对当前的图形窗口进行相应的用户界面控制。

CANAC软件包的主界面如图1所示,其左边为一个绘图区域,不仅可以显示插值函数的图形,还可以显示函数进行数值分析与计算后的结果,具有实时性。

其右部分为软件包的核心部分,设计有相应的功能选项来控制软件包的具体操作,既可以输入任意的插值函数并选择插值节点数,又可以选择相应的按钮采用相应的方法对函数进行相应的数值分析或计算,其结果实时地显示在主界面的绘图区域上。

缺省状态下主界面的底色是天蓝色,如果用户对该底色不满意,可点击主界面上Edit下拉菜单上的color项进入图2所示的调色板。

借助该调色板,用户不仅可为界面或曲线选择48种基本颜色中的任一种,还可根据RGB值、ESL值或凭直观感觉在调色板上调试出自己喜欢的任意一种颜色并选为界面的底色或曲线的颜色。

图1CANAC软件包主界面图2CANAC软件包附带的调色板2.2多项式插值与拟合方法的MATLAB实现多项式插值是指根据给定的有限个样本点,产生另外的估计点以达到数据更为平滑的效果。

该技巧在信号处理与图象处理上应用广泛。

所用的指令有一维的interp1、二维的interp2、三维的interp3,还有傅立叶方法的interpft及n维的in2terp n。

MATLAB中,一维的多项式插值method(方法)有nearest(最近插值)、linear(线性插值)、spline(三次样条插值)和cubic(三次插值)四种选择。

各种方法的输出结果如图3所示,从运行结果可看出nearest方法的执行速度最快,输出结果为直角转折;linear方法为默认值,在样本点上斜率变化很大; spline方法最花时间,但输出结果也最平滑;cubic方法最占用内存,效果与spline差不多。

图3一维插值结果比较图MATLAB中,二维的多项式插值method有nearest、linear和cubic三种选择。

分析图4所示的二维插值结果可以看出,nearest方法产生piecewise(断片状)的平面;linear方法为默认值,在样本点上斜率变化很大;cubic方法产生平滑的连续平面,适合于作图象处理。

图4二维插值结果比较图多项式拟合(Ploynomial Fitting)又称为曲线拟合(Curve Fitting ),其目的就是在众多的样本点中进行拟合,找出满足样本点分布的多项式。

在MATLAB 中,所用的指令为polyfit ,其指令格式为:p=polyfit (x ,y ,n)。

其中,x 与y为样本点向量,n为所求多项式的阶数,p为求出的多项式。

2.3主要功能和性能在很多应用领域中,对于以离散数据形式描述的任务常常需要建立一个近似的解析表达式。

解决的方法有两个:一个是插值,过已知数据点构造一个解析表达式,由此可计算数据点之间的函数值;另一个是曲线拟合,即构造一条“最好”的光滑曲线去逼近已知离散数据,但这条曲线不要求通过已知数据点。

MATLAB 中的函数POLYFIT 可采用最小二乘法构造一个多项式函数去逼近已知的离散数据。

基于MATLAB 环境的CANAC 软件包不仅可以解决数值分析与计算中涉及到的函数插值问题,还可以解决函数逼近问题等等。

数值分析与计算中涉及到的其它问题,如数值积分和微分、线性代数、非线性方程(方程组)以及常微分方程的数值解法等,MATLAB 都有相应的函数和解法使其迅速得以实现。

这些数值分析和数值计算所涉及的内容,不仅可以直接应用于科研理论论证或工程实践中,同时也是其它数学理论研究或工程实践问题得以解决的基础。

CANAC 软件包具有如下的主要功能和性能:(1)绘图功能。

主界面能够实时、准确地绘制出各种插值函数图形,并把数值分析与计算后的结果直观地进行图形显示。

(2)辅助分析与设计功能。

主界面上实时显示的图形对操作者进行各种设计与分析具有辅助作用。

(3)操作简便、界面美观。

由于MATLAB 现行版本运行于Windows 环境,由此开发出来的CANAC 软件包有Windows 程序风格,既美观、简洁又容易操作和应用。

3、应用实例对函数)11()(2≤≤-=-x e x f x 分别用分段线性插值、第二类边界的三次样条插值和三次多项式插值进行逼近。

要求在屏幕的左端首先显示)11()(2≤≤-=-x e x f x 的图形,并在屏幕的右上角显示一个对话框,询问插值节点数,输入N 后,根据节点的取法,在图形上显示节点的位置,在调色板上选择好颜色后,显示出三类插值的图形。

试对离散节点进行曲线拟合,比较三类插值与原函数的图形,并分析结果。

在MATLAB 环境下运行CANAC 软件包,出现图1所示的主界面。

如果对主界面的天蓝色底色不满意,借助图2所示的调色板选定颜色后,先在主界面右上角输入插值函数2)(x e x f -=的表达式并选择插值节点数N 为5,出现如图5所示的窗口,其上有原插值函数的曲线图形。

分别点击“分段线性插值”、“三次样条插值”和“三次多项式插值”按钮,出现如图6、图7和图8所示的窗口,绘图区域显示的是相应插值结果图。

“*”号标识的点是依据输入的节点数确定的相应节点位置。

图9显示的是依据已知节点拟合后的曲线图形。

图5原插值函数的图形图6分段线性插值结果图7三次样条插值结果比较以上的计算过程和输出的图形结果可看出,分段线性插值、三次样条插值和三次多项式插值虽然都属于一元低次插值,但它们各有优缺点。

分段线性插值简便易行,当节点加密时,分段线性插值的误差变小,收敛性有保证。

而且,在分段线性插值中,每个小区间上的插值函数只依赖于本段的节点值,因而每个节点只影响到节点邻近的一、二个小区间,计算过程中数据误差基本上不扩大,从而保证了节点数增加时插值过程的稳定性。

但是,分段线性插值函数仅在有限区段上连续。

一般地,在节点处插值函数不可微,这就不能满足有些工程技术问题的光滑度要求。

图8三次多项式插值结果图9曲线拟合结果样条插值函数不仅连续,而且有连续的曲率,即二阶导数连续,它能够满足许多工程技术中对插值函数提出的较高光滑性的计算要求。

三次样条插值函数有较好的收敛性,但其计算复杂,稳定性不如分段插值。

多项式插值函数是插值法常用的近似函数,计算简便,只需用加、减、乘等运算,而且其导数与积分仍为多项式。

当次数较高时,收敛性与稳定性均较差。

相比之下,三次多项式插值方法最占用内存,而效果与三次样条插值差不多。

4、结束语由CANAC软件包的编制和运行结果可知,数值分析与计算中涉及到的解线性代数方程组、积分和微分、矩阵的分解和运算、矩阵的分析函数、多项式的求根和基本运算、函数的插值和数值逼近、数值积分和常微分方程数值解等问题都可以由CANAC软件包直接或间接地、轻易地得以解决。

从编程来说,CANAC软件包运行于Windows环境下,界面美观、程序简洁、功能强大;从计算上来说,它运算速度快、可实现的算法较多;从操作上,它操作简便,简单易学,只需根据实际情况输入插值函数表达式和插值节点数,再点击相应的功能按钮就可达到预期效果。

MATLAB几乎可以实现工程技术人员想实现的所有功能。

5、参考文献【1】《数值分析基础.第二版》关治陆金甫.著,高等教育出版社,1998【2】《科学计算语言MATLAB简明教程》杜藏骆源.著,南开大学出版社,1998【3】《MATLAB语言—演算纸式的科学工程计算语言》张培强.著,中国科学技术大学出版社,1995【4】《MATLAB5.X应用与技巧》蒙以正.著,科学出版社,1999。

相关主题