Matlab语言简介
第一部分 Matlab概述
一、Matlab的特点
Matlab是近几年来在国外广泛流行的一种可视化科学计算软件,它不但具有结构简单、数值计算高效、图形功能完备和图像处理方便的特点,还具有符号计算、文字处理、可视化仿真和实时控制能力,该软件已经成为适合多学科、多部门要求的新一代应用软件。
Matlab语言是由美国MathWork公司推出的计算机软件,经过多年的逐步发展与完善,已经成为国际公认的最优秀的科学计算与数学应用软件之一。其内容涉及矩阵代数、微积分、应用数学、有限元法、科学计算、信号与系统、神经网络、小波分析及其应用、数学图像处理、计算机图形学、电子线路、电机学、自动控制与通信技术、物理、力学、和机械振动等方面。
Matlab是Matrix Laboratory(矩阵实验室)的缩写,最初由Cleve Moler博士在70年代末讲授矩阵理论和数据分析等课程时编写的软件包Linpack与Eispack组成,旨在使应用人员免去大量经常重复的矩阵运算和基本数学运算等繁琐的编程工作。
与Fortran语言和C等高级语言比较,Matlab的语法规则更简单,更重要的是它贴近人思维方式的编程特点,使得用Matlab编写程序犹如在便笺上列公式和求解。 80年代初期,CleveMoler和John Little采用 C语言改写了Matlab的内核。不久,他们成立了MathWork软件开发公司并将Matlab正式推向市场。
1999年1月推出了Matlab5.3(Release11.0版本),真正实现了32位运算,其速度更快、功能更完善、界面更友好,并且提供了Internet搜索引擎,可协助用户寻求在线帮助。新版本6.x又作了更精细的改进,相对于5.3版本,新版本增加了许多新功能,主要表现在以下几方面:
? 增强了拥护界面的交互性,其窗口界面更加友好。 ? 增加了工具箱的种类,增强了工具箱的功能。
? 增加了许多功能函数。 ? 扩充了绘图功能。
? 增强了对多维矩阵,稀疏矩阵的运算功能。
? 增强了微分方程的解法,增强了积分方程的算法。 ? 扩充了矢量和矩阵的类型。
? 提供了更新和更完备的在线帮助文档。 ? 提供了输入数据向导(Import Wizard)。
Matlab之所以成为世界流行的科学计算与数学应用软件,是因为它有着下列强大的功能。
? 高质量、强大的数值计算功能。 ? 数值分析和科学计算可视化功能。
1
? 强大的符号计算功能。
? 强大的非线形动态系统建模和仿真功能。 ? 灵活的程序接口功能。 ? 文字处理功能。
? 界面友好,编程效率高。 ? 功能强大,可扩展性强。 ? 图形功能灵活方便。
? 在线帮助,有利于自学。
? Matlab还具有支持科学计算标准的开放式可扩充结构和跨平台兼容的特点,能
够很好地解决科学和工程领域内的复杂问题。
总之,Matlab语言已经成为科学计算、系统仿真、信号与图像处理的主流软件。 Matlab的窗口界面如图F3-1所示。
图F3-1 Matlab的窗口界面
Matlab的程序编辑器界面如图F3-2所示。
2
图F3-2 Matlab的程序编辑器界面
二、Matlab软件系统的构成
Matlab软件主要有主包、Sinulink和工具箱三部分组成。
1. Matlab主包
Matlab主包包括以下5个部分: (1)Matlab语言
Matlab语言是一种基于矩阵/数组的高级语言,它具有流程控制语句、函数、数据结构、输入输出以及面向对象的程序设计特性。用Matlab语言可以迅速地建立临时性的小程序,也可以建立复杂的大型应用程序。
(2)Matlab工作环境
Matlab工作环境集成了许多工具和程序,用户用工作环境中提供的功能完成它们的工作。Matlab工作环境给用户提供了管理工作空间内的变量和输入、输出数据的功能,并给用户提供了不同的的工具以开发、管理、调试M文件和Matlab应用程序。
(3)句柄图形
句柄图形是Matlab的图形系统。它包括一些高级命令,用于实现二维和三维数据可视化、图像处理、动画等功能;还有一些低级命令,用来制定图形的显示以及建立Matlab应用程序的图形用户界面。
Matlab的图形界面辅助设计工具界面如图F3-3所示。
3
图F3-3 Matlab的图形辅助设计工具界面
(4)Matlab数学函数库
Matlab数学函数库是数学算法的一个巨大集合,该函数库既包括了诸如求和、正弦、余弦、复数运算之类的简单函数;也包含了矩阵转置、特征值、贝塞尔函数、快速傅立叶变换等复杂函数。
(5)Matlab应用程序接口(API)
Matlab应用程序接口是一个Matlab语言向C和Fortran等其它高级语言进行交互的库,包括读写Matlab数据文件(MAT文件)。
2. Simulink
Simulink是用于动态系统仿真的交互式系统。Simulink允许用户在屏幕上绘制框图来模拟一个系统,并能够动态地控制该系统。Simulink采用鼠标驱动方式,能够处理线性、非线性、连续、离散、多变量以及多级系统。此外,Simulink还为用户提供了两个附加功能项:SimulinkExtension(扩展)和Block3(模块集)。
Simulink Extension是一些可选择的工具,支持在Simulink环境中所开发的系统的具体实现,包括:
? Simulink Accelerator ? Real—Time Workshop ? Real—Time Windows Target
? Stateflow
Blocksets是为了特殊应用领域中设计的Simulink模块集合。包括以下几个领域的模块集:
? DSP(数字信号处理)
4

