matlab是矩阵实验室(matrix laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
matlab的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用matlab来解算问题要比用c,fortran等语言完相同的事情简捷得多.在新的版本中也加入了对c,fortran,c++ ,java的支持.可以直接调用,用户也可以将自己编写的实用程序导入到matlab函数库中方便自己以后调用,此外许多的matlab爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用,非常的方便。
matlab的基础是矩阵计算,但是由于他的开放性,并且mathwork也吸收了像maple等软件的优点,使matlab成为一个强大的数学软件
当前流行的matlab 6.5/7.0包括拥有数百个内部函数的主包和三十几种工具包(toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充matlab的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.
开放性使matlab广受用户欢迎.除内部函数外,所有matlab主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.
matlab的官方网站:http://www.mathworks.com
matlab的优势和特点
(1)友好的工作平台和编程环境
matlab由一系列工具组成。这些工具方便用户使用matlab的函数和文件,其中许工具采用的是图形用户界面。包括matlab桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着matlab的商业化以及软件本身的不断升级,matlab的用户界面也越来越精致,更加接近windows的标准界面,人机交互性更强,操作更简单。而且新版本的matlab提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(m文件)后再一起运行。新版本的matlab语言是基于最为流行的c++语言基础上的,因此语法特征与c++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是matlab能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
matlab是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如c和c++ 。在计算要求相同的情况下,使用matlab的编程工作量会大大减少。matlab的这些函数集包括从最简单最基本的函数到诸如距阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能
matlab自产生之日起就具有方便的数据可视化功能,以将向量和距阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的matlab对整个图形处理功能作了很大的改进和完善,使他不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),matlab同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,matlab也有相应的功能函数,保证了用户不同层次的要求。另外新版本的matlab还着重在图形用户界面(gui)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱
matlab对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,他们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,matlab已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、lmi控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、dsp与通讯、电力系统仿真等,都在工具箱(toolbox)家族中有了自己的一席之地。
(6)实用的程序接口和发布平台
新版本的matlab可以利用matlab编译器和c/c++数学库和图形库,将自己的matlab程序自动转换为独立于matlab运行的c和c++代码。允许用户编写可以和matlab进行交互的c或c++语言程序。另外,matlab网页服务程序还容许在web应用中使用自己的matlab数学和图形程序。
matlab的一个重要特色就是他有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是matlab函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
(7)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向excel和hdf5。
(8) matlab常用工具箱介绍(英汉对照)
matlab main toolbox——matlab主工具箱
control system toolbox——控制系统工具箱
communication toolbox——通讯工具箱
financial toolbox——财政金融工具箱
system identification toolbox——系统辨识工具箱
fuzzy logic toolbox——模糊逻辑工具箱
higher-order spectral analysis toolbox——高阶谱分析工具箱
image processing toolbox——图象处理工具箱
lmi control toolbox——线性矩阵不等式工具箱
model predictive control toolbox——模型预测控制工具箱
μ-analysis and synthesis toolbox——μ分析工具箱
neural network toolbox——神经网络工具箱
optimization toolbox——优化工具箱
partial differential toolbox——偏微分方程工具箱
robust control toolbox——鲁棒控制工具箱
signal processing toolbox——信号处理工具箱
spline toolbox——样条工具箱
statistics toolbox——统计工具箱
symbolic math toolbox——符号数学工具箱
simulink toolbox——动态仿真工具箱
system identification toolbox——系统辨识工具箱
wavele toolbox——小波工具箱
例如:控制系统工具箱包含如下功能:
连续系统设计和离散系统设计
状态空间和传递函数以及模型转换
时域响应(脉冲响应、阶跃响应、斜坡响应)
频域响应(bode图、nyquist图)
根轨迹、极点配置
1.补充新的内容:
matlab r2007b正式发布了!matlab 2007b于2007年秋节正式发布,tmw正式发布了matlab r2007b,新版本涵盖:simulink 7、新产品simulink design verifier、link for analog devices visualdsp以及82个产品模块的更新升级及bug修订。从现在开始,mathworks公司将每年进行两次产品发布,时间分别在每年的3月和9 月,而且,每一次发布都会包含所有的产品模块,如产品的new feature、bug fixes和新产品模块的推出。
在r2007b中(matlab 7.4,simulink 6.6),主要更新了多个产品模块、增加了多达350个新特性、增加了对64位windows的支持,并新推出了.net工具箱。r2007b, released on march 1, 2007, includes updates to matlab and simulink, two new products released since r2007b, and updates and bug fixes to 82 other products. r2007b adds support for the intel® based mac, windows vista™, and 64-bit sun solaris™ sparc platforms.
这次的升级做了重大的增强,也升级了以下各版本,提供了matlab、simulink的升级以及其他最新的模块的升级。这个matlab 2007版本不仅仅提高了产品质量,同时也提供了新的用于数据分析、大规模建模、固定点开发、编码等新特征。
其中matlab builder for .net扩展了matlab compiler的功能,主要有:
可以打包matlab函数,使网络程序员可以通过c#,vb.net等语言访问这些函数;
创建组件来保持matlab的灵活性;
创建com组件;
将源自matlab函数的错误作为一个标准的管理异常来处理。
r2007b 提供了重大的新功能: 直接在命令行使用 real-time workshop 的 嵌入式 matlab 函数的 c 代码生成。 另外,simulink 中的嵌入式 matlab 函数块支持多 m 文件中的算法。
matlab r2007b新版本中,产品模块进行了一些调整,matlab builder for com的功能集成到matlab builder for .net中去了,finacial time series toolbox的功能集成到financial toolbox中了。matlab 将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用 matlab 产品的开放式结构,可以非常容易地对 matlab 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善 matlab 产品以提高产品自身的竞争能力。
作为和mathematica、maple并列的三大数学软件。其强项就是其强大的矩阵计算以及仿真能力。要知道matlab的由来就是matrix + laboratory = matlab,所以这个软件在国内也被称作《矩阵实验室》。每次mathworks发布matlab的同时也会发布仿真工具simulink。在欧美很多大公司在将产品投入实际使用之前都会进行仿真试验,他们所主要使用的仿真软件就是simulink。matlab提供了自己的编译器:全面兼容c++以及 fortran两大语言。所以matlab是工程师,科研工作者手上最好的语言,最好的工具和环境。matlab 已经成为广大科研人员的最值得信赖的助手和朋友!