1、第1章 绪 论在工程分析和科学研究中,常需要根据一些测试数据求得自变量和因变量的近似函数关系式来完成其他设计计算。这就要求用简单的函数(z)近似地代替函数厂(z),这种近似代替称为函数逼近,它是计算数学中最基本的概念和方法之一,在图像处理、逆向工程以及测试数据的处理等领域应用得相当广泛。函数逼近的方法包括插值、拟合与逼近,这些算法可以通过C,C+以及Fortran等语言编程实现但是计算过程都比较复杂。能高效求解各种复杂工程问题并实现计算结果的可视化。Matlab本身已经包含了一些插值和拟合的函数,能够方便地实现函数逼近。此外,基于Matlab还可以利用神经网络实现任意非线性函数的逼近。这里在介
2、绍上述逼近算法的基础上结合实例阐述了这些方法的具体应用。1.1 背景1.1.1 Matlab的发展MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减
3、轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件(如表1-1)。表1-1 matlab的发展版本建造编号发布时间MATLAB 1.0MATLAB 2MATLAB 3MATLAB 3.5MATLAB 4MATLAB 4.2cMATLAB 6.0MATLAB 6.1MATLAB 6.5MATLAB 6.5.1MATLAB 6.5.2MATLAB 7(本设计使用)MATLAB 7.0.1MATLAB 7
4、.0.4MATLAB 7.10MATLAB 7.11MATLAB 7.12MATLAB 7.13MATLAB 7.14没有编号R7R12R12.1R13R13SP1R13SP2R14R14SP1R14SP2R2010aR2010bR2011aR2011bR2012a1984198619871990199219941996-1999200020012003200420052005-2009.9.42010.3.52010.9.32011.4.82011.9.12012.3.11.1.2 数值逼近有效使用数字计算机求数学问题近似解的方法与过程,以及由相关理论构成的学科。数值计算主要研究如何利用计算
5、机更好的解决各种数学问题,包括连续系统离散化和离散形方程的求解,并考虑误差、收敛性和稳定性等问题。从数学类型分,数值运算的研究领域包括数值逼近、数值微分和数值积分、数值代数、最优化方法、常微分方程数值解法、积分方程数值解法、偏微分方程数值解法、计算几何、计算概率统计等。随着计算机的广泛应用和发展,许多计算领域的问题,如计算物理、计算化学、计算经济学等都可归结为数值计算问题。1.1.3 研究意义数值逼近的方法包括插值、拟合与逼近等,这些算法其实可以通过C,C+以及Fortran等语言编程实现不过用C,C+以及Fortran等实现语言编写相对于Matlab更为复杂从而使程序易错,而Matlab在语
6、言环境来说更为简单,并且在内部程序中自带相当多得函数,是程序的设计变得更为简单。使用Matlab对所编制的逼近程序进行绘图,让得到的结果在图形中进行展示,是我们看到的结果更为清楚明白。1.2 论文结构本文共包括五个章节的内容,内容安排如下:第一章:绪论,本章主要介绍了论文的主要研究工作具体是什么、研究背景概述以及简单描述文的整体结构安排。第二章:MATLAB简介,本章主要介绍了MATLAB的基本功能与基本的应用,并且简述了MATLAB开发环境、语言等系统机构,特点与优势.第三章:数值逼近,本章主要对数值逼近的方法进行了讲述曲线拟合,插值逼近。第四章:基于matlab的数值逼近程序设计,本章首先
7、介绍了各种插值与拟合的定义,并对各种算法进行举例计算,最后在本章进行了各个算法基于matlab的设计与仿真。第五章:基于matlab的数值逼近算法系统测试及分析,本章主要对基于matlab的数值逼近算法的实际运行过程进行了测试。第2章 MATLAB简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。2.1 基本功能MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软
8、件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C+,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库
9、中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用(如图2-1)。图2-1 Matlab7开发工作界面2.2 基本应用Matlab产品族可以用来进行以下各种工作:1)数值分析2)数值和符号计算3)工程与科学绘图4)控制系统的设计与仿真5)数字图像处理技术6)数字信号处理技术7)通讯系统设计与仿真8)财务与金融工程9)管理与调度优化计算(运筹学)MATLAB 的应用范围非常广,包括信号和图像处理、通讯(如图2-2)、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MAT
10、LAB 环境,以解决这些应用领域内特定类型的问题。图2-2 MATLAB在通讯系统设计与仿真的应用2.3 系统结构MATLAB系统由MATAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统和MATLAB应用程序接口(API)五大部分构成。2.3.1 MATLAB开发环境MATLAB开发环境是一套方便用户使用的MATLAB函数和文件工具集,其中许多工具是图形化用户接口。它是一个集成的 用户工作空间,允许用户输入输出数据,并提供了M文件的集成编译和调试环境,包括MATLAB桌面、命令窗口、M文件编辑调试器、MATLAB工作空间和在线帮助文档。图2-3 MATLAB开发
11、环境2.3.2 MATLAB数学函数库MATLAB数学函数库包括了大量的计算算法。从基本算法如加法、正弦,到复杂算法如矩阵求逆、快速傅里叶变换等。2.3.3 MATLAB语言MATLAB语言是一种高级的基于矩阵/数组的语言,它有程序流控制、函数、数据结构、输入/输出和面向对象编程等特色。2.3.4 MATLAB图形处理系统图形处理系统使得MATLAB能方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。它包括强大的二维三维图形函数、图像处理和动画显示等函数。2.3.5 MATLAB应用程序接口MATLAB应用程序接口(API)是一个使MATLAB语言能与C、Fortran等其它高级编程语言
12、进行交互的函数库。该函数库的函数通过调用动态链接库(DLL)实现与MATLAB文件的数据交换,其主要功能包括在MATLAB中调用C和Fortran程序,以及在MATLAB与其它应用程序间建立客户、服务器关系。2.4 特点与优势2.4.1 特点1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。2.4.2 优势1. 友好的工作平台编程环境MATL
13、AB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,析。其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分。2. 简单易用的程序语言Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C+语言基础上的,因此语法特征与C+语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。3. 强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1