matlab概述
摘 要:MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
关键词:matlab;数值计算
一 功能篇 1970年代,
美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用
FORTRAN编写了最早的MATLAB。
1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。目前有一系列开源软件(octave,freemat,sage,scilab,maxima)可以部分代替MATLAB,但是MATLAB仍是专业数据分析不可或缺的软件之一。
Matlab常被应用于下列领域:
● 数值分析
● 数值和符号计算
● 工程与科学绘图
● 控制系统的设计与仿真
● 数字图像处理
● 数字信号处理
● 通讯系统设计与仿真
● 财务与金融工程
在组织形成上,Matlab形成了以M文件扩充功能和通过其他语言(C++,Java,Fortan)扩充两种形式,配合几十年发展起来的多种工具箱,使得Matlab成了数学领域的"瑞士军刀",使用Matlab几乎可以处理所有的数学相关问题,但前提是使用者需要对Matlab具有足够多的了解。
二 版本篇 Matlab自发布以来 经过了多次的版本更迭,具体可以参考下表。目前在国内各大高校以及科研人员当中,Matlab 6.5,7.0以及之后的版本得到了广泛应用,这既与国内计算科学的发展历史有关,也和Matlab的不断发展完善具有一定关系。
表1 Matlab版本表
版本 | 建造编号 | 发布时间 |
MATLAB 1.0 | | 1984 |
MATALB 2 | | 1986 |
MATLAB 3 | | 1987 |
MATLAB 3.5 | | 1990 |
MATLAB 4 | | 1992 |
MATLAB 4.2c | R7 | 1994 |
MATLAB 5.0 | R8 | 1996 |
MATLAB 5.1 | R9 | 1997 |
MATLAB 5.1.1 | R9.1 | 1997 |
MATLAB 5.2 | R10 | 1998 |
MATLAB 5.2.1 | R10.1 | 1998 |
MATLAB 5.3 | R11 | 1999 |
MATLAB 5.3.1 | R11.1 | 1999 |
MATLAB 6.0 | R12 | 2000 |
MATLAB 6.1 | R12.1 | 2001 |
MATLAB 6.5 | R13 | 2002 |
MATLAB 6.5.1 | R13SP1 | 2003 |
MATLAB 6.5.2 | R13SP2 | 2003 |
MATLAB 7 | R14 | 2004 |
MATLAB 7.0.1 | R14SP1 | 2004 |
MATLAB 7.0.4 | R14SP2 | 2005 |
MATLAB 7.1 | R14SP3 | 2005 |
MATLAB 7.2 | R2006a | 2006 |
MATLAB 7.3 | R2006b | 2006 |
MATLAB 7.4 | R2007a | 2007 |
MATLAB 7.5 | R2007b | 2007 |
MATLAB 7.6 | R2008a | 2008 |
MATLAB 7.7 | R2008b | 2008 |
MATLAB 7.8 | R2009a | 2009.3.6 |
MATLAB 7.9 | R2009b | 2009.9.4 |
Matlab 7
该版本主要升级了如下功能模块(未列出仿真相关):
- 通讯模块库
- 通讯工具箱
- 控制系统工具箱(添加了动态闭环系统分析工具)
- 数据库工具箱(添加了对ODBC/JDBC的支持)
- 滤波设计器(对数字滤波模块添加了更先进的技术,例如对复杂实时DSP系统的处理)
- 金融衍生产品工具箱(添加了对固定收益证券、金融衍生产品)
- 图像处理工具箱
- 空间图像处理工具箱(提供地图处理和空间数据处理工具)
- 优化工具箱(更新了普通规模和大规模优化模块,提供(非)线性、二次规模等工具)
- 统计工具箱(拟合工具的GUI版本、更强大的MLE工具、多元密度支持)
- 小波分析工具箱(连续小波变换、图像噪声处理)
Matlab 7.01 该版本主要升级了如下功能模块(未列出仿真相关):
- 分布式计算工具箱
- 视频与图像处理工具箱
- 图像处理工具箱(图像探索与操纵、文字分析、Hough变换、ICC导出)
Matlab 7.04
该版本主要升级了如下功能模块(未列出仿真相关):
Matlab 7.1 该版本主要升级了如下功能模块(未列出仿真相关):
- 分布式计算工具箱与Matlab分布计算引擎(升级计算引擎,更新API)
- 视频与图像处理模块
- 金融衍生产品工具箱(添加BK,HM模型以及二叉树模型)
- 遗传算法工具箱
Matlab 7.2 该版本主要升级了如下功能模块(未列出仿真相关):
- 金融工具箱(Var模型、多元正态回归_支持缺失数据)
- 神经网络工具箱
- 统计工具箱(bootstrap,方差分析,dw检验,多元正态分布与多元t分布支持,MCMC模拟,稳健回归)
- 小波分析工具箱
- 偏微分方程计算
- 遗传算法工具箱(添加了两个函数)
还更新了曲线拟合、数据库模块、分布式计算引擎、金融衍生产品工具箱、固定收益证券工具、模糊工具箱、GARCH工具箱、图像处理、视频与图像工具箱、地图工具箱等。
Matlab 7.3 该版本主要更新了曲线拟合、数据库工具、符号计算工具箱、金融衍生产品工具箱、固定收益证券工具、模糊工具箱、GARCH工具箱、遗传算法工具箱、统计工具箱。
Matlab 7.4 该版本主要更新了曲线拟合、数据库工具、符号计算工具箱、金融衍生产品工具箱、固定收益证券工具、模糊工具箱、GARCH工具箱、遗传算法工具箱、统计工具箱(聚类分析、pareto分布、缺失数据的多元回归分析)、小波分析工具箱。
Matlab 7.5
该版本主要更新了金融工具箱、金融衍生产品工具箱(日期支持和节假日支持)、遗传算法(多目标优化)、神经网络工具箱、稳健估计工具箱、偏微分工具、优化工具箱、统计工具箱(多元回归分析等)、小波分析工具箱(三维小波变换)。
Matlab 7.6 该版本主要更新了优化工具箱(支持内点算法求解器和并行计算)、金融工具箱(均值方差组合优化的线性互补程序)、统计工具箱(交叉验证、特征选择、准随机号码和偏最小二乘)等。
Matlab 7.7
该版本主要更新了随机数生产算法、符号数学工具箱(添加记事本接口)、统计工具箱(非线性混合效果)、计量经济学工具箱等。
三 Matlab的优缺点
3.1 优点Matlab的优点主要在于:
1. Matlab是基于C语言实现的,具有较高的执行效率和优良的可移植性。
2. Matlab历史悠久,拥有完善的类库和工具箱,因此功能强大,可以快速实现几乎所有的数学处理任务。
3. Matlab具有强大的再编程能力,可以根据使用者要求开发新的功能部件,并且可以与C++,VB,Java等交互。
3.2 缺点
Matlab的缺点主要在于:
1. 学习难度大,Matlab是基于语言的数学工具,在使用上类似于编程工具,这就要求使用者不仅具有较好的数学基础,还需要学会编程。
2. Matlab开发包太大,软件昂贵。