购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 MATLAB 简介

MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。

1.1.1 什么是MATLAB

MATLAB提供了一个高性能的用于数值计算和图形显示的科学和工程计算软件环境。这种易于使用的 MATLAB 环境,是由数值分析、矩阵运算、信号处理和图形绘制等模块组成的。在这种环境下,问题和解答的表达形式(程序)几乎和它们的数学表达式完全一样,而不像传统的编程那样繁杂。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C、FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了Maple等软件的优点,这使MATLAB成为一个强大的数学软件。

在MATLAB新的版本中也加入了对C、FORTRAN、C++、JAVA的支持。用户可以直接调用,也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。此外,许多的MATLAB爱好者都编写了一些经典的程序,用户直接下载就可以使用。

总之,MATLAB的主要特性包括:

(1)是用于数值计算、可视化和应用程序开发的高级语言;

(2)是可实现迭代式探查、设计及问题求解的交互式环境;

(3)是用于线性代数、统计、傅里叶分析、筛选、优化、数值积分以及常微分方程求解的数学函数库;

(4)是用于数据可视化的内置图形以及用于创建自定义绘图的工具;

(5)是用于改进代码质量和可维护性并最大限度地发挥性能的开发工具;

(6)是用于构建自定义图形界面应用程序的工具。

(7)是可实现基于MATLAB的算法与外部应用程序和语言(如C、Java、.NET以及Microsoft Excel)集成的函数。

MATLAB的一个重要特色就是其工具箱很强大,有主工具箱和各种工具箱(Toolbox)。其中,功能型工具箱主要用来扩充MATLAB的数值计算、符号运算、图形建模仿真、文字处理功能以及与硬件实时交互的功能,能够用于多种学科。领域型工具箱是学科专用工具箱,其专业性很强,如控制系统工具箱(Control System Toolbox)、信号处理工具箱(Signal Processing Toolbox)、财政金融工具箱(Financial Toolbox)等。

1.1.2 MATLAB语言特点

MATLAB是所有MathWorks公司产品的基石,它提供了数值计算、2-D和3-D图形,以及单一易使用环境下的编程能力。

MATLAB具有用法简单、灵活、程式结构性强、延展性好等优点,已经成为科技计算、视图交互系统和程序中的首选语言工具。特别是它在线性代数、数理统计、自动控制、数字信号处理、动态系统仿真等方面表现突出,已经成为科研工作人员和工程技术人员进行科学研究和生产实践的有利武器。

1.以矩阵和数组为基础的运算

MATLAB 是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入输出和面向对象编程等特点。MATLAB以矩阵为基础,不需要预先定义变量和矩阵(包括数组)的维数,就可以方便地进行矩阵的算术运算、关系运算和逻辑运算等。而且,MATLAB有特殊矩阵专门的库函数,可以高效地求解诸如信号处理、图像处理、控制等问题。

2.语言简洁,使用方便

MATLAB程序书写形式自由,被称为“草稿式”语言,这是因为其函数名和表达更接近我们书写计算公式的思维表达方式,编写MATLAB程序犹如在草稿纸上排列公式与求解问题,可以快速地验证工程技术人员的算法。

此外,MATLAB还是一种解释性语言,不需要专门的编译器。具体地说,即MATLAB运行时可直接在命令行输入MATLAB语句,系统立即进行处理,完成编译、链接和运行的全过程。利用丰富的库函数,避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。

3.强大的科学计算数据处理能力

MATLAB是一个包含大量计算算法的集合,其拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB来编程工作量会大大减少。

MATLAB的这些函数集包括从最简单、最基本的函数到诸如矩阵、特征向量、快速傅里叶变换等复杂函数。

MATLAB函数所能解决的问题,大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程组的求解、符号运算、傅里叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

4.强大的图形处理功能

MATLAB具有非常强大的以图形化显示矩阵和数组的能力,同时,它能给这些图形增加注释,并且可以对图形进行标注和打印。

MATLAB的图形技术既包括二维和三维的可视化、图像处理、动画等高层次的专业图形的高级绘图函数,如图形的光照处理、色度处理以及四维数据的表现等,又包括一些可以让用户灵活控制图形特点的低级绘图命令,用户可以利用MATLAB的句柄图形技术创建图形用户界面。

对一些特殊的可视化要求,如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外,新版本的MATLAB还在图形用户界面GUI的制作上做了很大的改善,对这方面有特殊要求的用户也可以得到满足。

5.应用广泛的模块集合——工具箱

MATLAB 的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序,每一个工具箱都是为某一类学科专业和应用而定制的。

MATLAB包含两个部分,即核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能;学科性工具箱是专业性比较强的,如control toolbox、signl proceess-ingtoolbox、commumnication toolbox等。

这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无须编写自己学科范围内的基础程序就可直接进行高、精、尖的研究。

此外,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱家族中有了自己的一席之地。

6.可扩充性强,具有方便的应用程序接口

MATLAB不仅有着丰富的库函数,在进行复杂的数学运算时可以直接调用,而且用户还可以根据需要方便地编写和扩充新的函数库。

通过混合编程,用户可以方便地在MATLAB环境中调用其他用Fortran或C语言编写的代码。

7.源程序的开放性

开放性也许是MATLAB最受人们欢迎的特点。除内部函数以外,所有MATLAB的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。

8.实用的程序接口和发布平台

新版本的 MATLAB 可以利用 MATLAB 编译器和 C/C++数学库和图形库,将自己的MATLAB 程序自动转换为独立于 MATLAB 运行的 C 和 C++代码,允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。

1.1.3 MATLAB系统

MATLAB系统主要包括5个部分:桌面工具和开发环境,数学函数库,语言,图形处理,外部接口。其中,桌面工具包括MATLAB桌面和命令窗口,编辑器和调试器、代码分析器和用于浏览帮助、工作空间、文件的浏览器。

MATLAB 的函数库包括大量的算法,从初等函数到复杂的高等函数。MATLAB 语言是一种高级的基于矩阵和数组的语言,具有程序流控制、函数、数据结构、输入输出和面向编程等特色。在图形处理中,MATLAB 具有方便的数据可视化功能。同时,MATLAB语言能够和一些高级语言进行交互。 A8QjO5SsnzYZ2fr2Z7BGBUJMKTWwphN9+oOhnzM/0xvXlAFvSUD4R+h4c1ZHCnGx

点击中间区域
呼出菜单
上一章
目录
下一章
×