搜档网
当前位置:搜档网 › Matlab软件介绍

Matlab软件介绍

Matlab软件介绍
Matlab软件介绍

Matlab软件介绍

1 Matlab背景介绍

MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks 公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler 为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。

时至今日,经过Math Works公司的不断完善,MATLAB已经发展成为适合多学科、多种工作平台的功能强劲的大型软件。在国外,MATLAB已经经受了多年考验。在欧美等高校,MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题[14]。

2 Matlab语言介绍

2.1 Matlab语言的特点

一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。

(1) 语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。

具有FORTRAN和C等高级计算机语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很

麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试都不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用FORTRAN 和C 这样的高级语言编写至少需要好几十行。再如用双步QR 方法求解矩阵特征值,如果用FORTRAN 编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。以下为用MATLAB 编写以上两个小程序的具体过程。

用MATLAB 求解下列方程,并求矩阵A 的特征值。 其中:

解为:x =A \b ;设A 的特征值组成的向量为e ,e =eig (A )。

可见,MATLAB 的程序极其简短。更为难能可贵的是,MATLAB 甚至具有一定的智能水平,比如上面的解方程,MATLAB 会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB 的准确性。

(2) 运算符丰富。由于MATLAB 是用C 语言编写的,MATLAB 提供了和C 语言几乎一样多的运算符,灵活使用MATLAB 的运算符将使程序变得极为简短。

(3) MATLAB 既具有结构化的控制语句(如for 循环、while 循环、break 语句和if 语句),又有面向对象编程的特性。

(4) 语法限制不严格,程序设计自由度大。例如,在MATLAB 里,用户无需对矩阵预定义就可使用。

(5) 程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。

(6) MATLAB 的图形功能强大。在FORTRAN 和C 语言里,绘图都很不容易,但在MATLAB 里,数据的可视化非常简单。MATLAB 还具有较强的编辑图形界面的能力。

(7) MATLAB 的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB 的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。

(8) 功能强劲的工具箱是MATLAB 的另一重大特色。MATLAB 包含两个部

????

?

?

?

??=??

??????????==4321,35713498

65542343

12857923

67451332

,b A b Ax

分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。功能性工具箱能用于多种学科。而学科性工具箱是专业性比较强的,如control、toolbox、signal processing toolbox、communication toolbox等。这些工具箱都是由该领域内的学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高、精、尖的研究。

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

2.2 Matlab语句的基本功能

进入MATLAB之后,会看到一个MATLAB Command Window,称为命令窗,它是最主要的窗口,既是键入命令也是显示计算结果的地方。另外还有一个编程窗,专门用来编辑应用程序。还有一个主窗口,用来记录已使用过的历史命令和已打开的目录,方便使用者查找。如果绘图还会自动弹出一个绘图窗,专门用来显示绘制的图形。MATLAB一般有3种进行计算的方法,第1种就如同使用计算器,直接输入数值和运算符,立即从屏幕上获得结果。第2种先对变量赋值,然后再输入由变量构成的表达式,也可立即获得结果。第3种,就是采用编程的方法来解决较复杂的,诸如含有判断、循环、迭代、递归等算法的较复杂的问题。上述方法中,第2和第3包括了数组和矩阵运算,只要定义了数组和矩阵变量,就可以如同普通代数运算一样直接用变量进行数学运算,十分方便。

MATLAB提供的基本算术运算有:加(+)、减(-)、乘(*)、除(/)、幂次方(^)。

MATLAB的关系和逻辑运算符与其他软件基本相同,仅列表加以说明:

表1 MATLAB的逻辑运算符

MATLAB可以将计算结果以不同的精度输出,列表说明如下:

表2 MATLAB精度列表

MATLAB对使用变量名称的规定:

(1)变量名称的英文大小写是有区别的(apple、Apple、AppLe三个变量不同)。

(2)变量的长度上限为19个字母。

(3)变量名的第一个字母必须是英文,随后可以掺杂英文字、数字或是下划线。

下表给出MATLAB所定义的特殊变量及其意义。

表3 MATLAB的特殊变量

3 Matlab编程

3.1 控制语句

MATLAB也有控制流语句,用于控制程序的流程。主要有for循环、while循环、if和break三种控制语句。虽然语句很少,但功能很强。

(1) for循环语句

for循环语句的一般表达形式为:

for i=表达式

可执行语句1

……

可执行语句n

end

(2) while循环

相关主题