MATLAB 2014从新手到高手
上QQ阅读APP看书,第一时间看更新

1.1 什么是MATLAB

本节视频教学录像:4分钟

MATLAB是矩阵实验室(Matrix Laboratory)之意,由美国MathWorks公司发布,主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

1.1.1 MATLAB概述

MATLAB是一种科学计算软件,适用于工程应用各领域的分析设计与复杂计算,它使用方便,输入简捷,运算高效且内容丰富,很容易由用户自行扩展。因此,当前已成为美国和其他发达国家大学数学和科学研究中最常用且必不可少的工具。

1.1.2 MATLAB产生的历史背景

20世纪70年代中后期,Cleve Moler博士和其同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的Fortran子程序库。EISPACK是特征值求解的Fortran程序库,LINPACK是解线性方程的程序库。在当时,这两个程序库代表矩阵运算的最高水平。

到20世纪70年代后期,身为美国New Mexico大学计算机系系主任的Cleve Moler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用Fortran编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序。Cleve Moler给这个接口程序取名为MATLAB,该名为矩阵(matrix)和实验室(laboratory)两个英文单词的前三个字母的组合。在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。

1983年春天,Cleve Moler到Stanford大学讲学,MATLAB深深地吸引了工程师John Little。John Little敏锐地觉察到MATLAB在工程领域的广阔前景。同年,他和C1eve Moler、Steve Bangert一起,用C语言开发了第二代专业版。这一代的MATLAB语言同时具备了数值计算和数据图示化的功能。

1984年,Cleve Moler和John Little成立了MathWorks公司,正式把MATLAB推向市场。随着科技的发展,许多优秀的工程师不断对MATLAB进行完善,使其从一个简单的矩阵分析软件逐渐发展成为一个具有极高通用性,并带有众多实用工具的运算操作平台。历经几十年的发展和竞争,MATLAB成为国际认可的最优化的科技应用软件。

目前,在大学里,MATLAB已成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。在国内,特别是在工程界,MATLAB已经盛行起来。可以说,无论您从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。

1.1.3 MathWorks及其产品概述

从1984年成立,MathWorks 公司已经逐步成为全球科学计算和基于模型设计的软件供应商的领导者。MathWorks公司总部位于马萨诸塞州的Natick,现在全球范围内拥有1900多名员工。

MATLAB是美国MathWorks公司出品的商业数学软件,主要包括MATLAB和Simulink两大部分。MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的科学计算语言和编程环境;Simulink 是一种用于对多领域动态和嵌入式系统进行仿真和模型设计的图形化环境。

MathWorks 公司还针对数据分析和图形处理等特殊任务推出近 100 项其他产品,其产品作为研究和开发的基础工具,在汽车、航空、通信、电子和工业自动化等领域得到广泛的应用。它们还被应用于金融服务和计算生物学等对建模和仿真有越来越高要求的技术领域。MathWorks 软件可用来辅助许多尖端产品的设计和开发,包括汽车系统、航空飞行控制和航空电子、通信和其他电子产品、工业机械和医疗器械等。全球有超过 5000 家的大专院校采用 MathWorks 的解决方案来开展多种技术学科的教学和研究工作。

1.1.4 MATLAB的语言特点

MATLAB最突出的特点就是简洁,MATLAB用更直观的、符合人们思维习惯的代码,代替了C和Fortran语言的冗长代码,给用户带来最直观、最简洁的程序开发环境,以下简单介绍一下MATLAB的主要特点。

(1)运算符丰富。

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

(2)语言简单易学,容易使用,库函数极其丰富。

MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。

(3)MATLAB既具有结构化的控制语句,又有面向对象编程的特性。

(4)程序限制不严格,程序设计自由度大。

例如,在MATLAB里,用户无需对矩阵预定义就可使用。

(5)程序的可移植性很好。

MATLAB中的程序基本上不做修改就可以在各种型号的计算机和操作系统上运行。

(6)MATLAB的图形功能强大。

在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。

(7)功能强大的工具箱。

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

(8)源程序的开放性。

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

(9)MATLAB程序执行速度慢。

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

1.1.5 MATLAB的组成

MATLAB系统由MATLAB开发环境、MATLAB语言、MATLAB数学函数库、MATLAB图形处理系统和MATLAB应用程序接口五大部分组成。

(1)MATLAB开发环境是一个集成的工作环境,包括MATLAB命令窗口、文件编辑调试器、工作空间、数组编辑器和在线帮助文档等。

(2)MATLAB语言具有程序流程控制、函数、数据结构、输入输出和面向对象的编辑特点,是基于矩阵/数组的语言。

(3)MATLAB的数学函数库包含了大量的计算算法,包括基本函数、矩阵运算和复杂算法等。

(4)MATLAB的图形处理系统能够将二维和三维数组的数据用图形表示出来,并可以实现图像处理、动画显示和表达式作图等功能。

(5)MATLAB应用程序接口使MATLAB语言能与C或Fortran等其他编程语言进行交互。