2.2 Matlab介绍 MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。 尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
2.2.1 历史 1970年代末到80年代初,时任美国新墨西哥大学教授的克里夫·莫勒尔为了让学生更方便地使用LINPACK及EISPACK (需要通过FORTRAN编程来实现,但当时学生们并无相关知识),独立编写了第一个版本的MATLAB。这个版本的MATLAB只能进行简单的矩阵运算,例如矩阵转置、计算行列式和本征值,此版本软件分发出大约两三百份。 1984年,杰克·李特、克里夫·莫勒尔和斯蒂夫·班格尔特合作成立了MathWorks公司,正式把MATLAB推向市场。MATLAB最初是由莫勒尔用FORTRAN编写的,李特和班格尔特花了约一年半的时间用C重新编写了MATLAB并增加了一些新功能,同时,李特还开发了第一个系统控制工具箱,其中一些代码到现在仍然在使用。C语言版的面向MS-DOS系统的MATLAB1.0在拉斯维加斯举行的IEEE决策与控制会议(IEEE Conference on Decision and Control)正式推出,它的第一份订单只售出了10份拷贝,而到了现在,根据MathWorks自己的数据,目前世界上100多个国家的超过一百万工程师和科学家在使用MATLAB和Simulink。 1992年,学生版MATLAB推出;1993年,Microsoft Windows版MATLAB面世;1995年,推出Linux版。
2.2.2 主要功能MATLAB的主要提供以下功能: l 可用于技术计算的高级语言。 l 可对代码、文件和数据进行管理的开发环境。 l 可以按迭代的方式探查、设计及求解问题的交互式工具。 l 可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等的数学函数。 l 可用于可视化数据的二维和三维图形函数。 l 可用于构建自定义的图形用户界面的各种工具。 l 可将基于MATLAB的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及Microsoft Excel)集成的各种函数。 工具箱 MATLAB的一个重要特点是可扩展性。作为Simulink和其它所有MathWorks产品的基础,MATLAB可以通过附加的工具箱(Toolbox)进行功能扩展,每一个工具箱就是实现特定功能的函数的集合。MathWorks提供的工具箱分以下几大类: l 数学和优化 l 统计和数据分析 l 控制系统设计和分析 l 信号处理和通讯 l 图像处理 l 测试和测量 l 金融建模和分析 l 应用程序部署 l 数据库连接和报表 l 分布式计算 这些工具箱大多是用开放式的MATLAB语言写成,用户不但可以查看源代码,还可以可根据自己的需要进行修改以及创建自定义函数。此外,常有用户在MATLAB Central: File Exchange发布自己编写的MATLAB程序或工具箱,供他人自由下载使用。
2.2.3 Matlab语言 MATLAB语言是一种交互性的数学脚本语言,其语法与C/C++类似。它支持包括逻辑(boolean)、数值(numeric)、文本(text)、函数柄(function handle)和异质数据容器(heterogeneouscontainer)在内的15种数据类型,每一种类型都定义为矩阵或阵列的形式(0维至任意高维)。 执行MATLAB代码的最简单方式是在MATLAB程序的命令窗口(Command Window)的提示符处(>> )输入代码,MATLAB会即时返回操作结果(如果有的话)。此时, MATLAB可以看作是一个交互式的数学终端,简单来说,一个功能强大的“计算器”。MATLAB代码同样可以保存在一个以.m为后缀名的文本文件中,然后在命令窗口或其它函数中直接调用。
|