1.2 MATLAB的优势与特点
MATLAB在学术界和工程界广受欢迎,其主要优势和特点有如下几方面。
· 友好的工作平台和编程环境
MATLAB由一系列工具组成,其中许多工具采用的是图形用户界面,包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。这些图形化的工具方便用户使用MATLAB的函数和文件。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
同时,MATLAB提供了完整的联机查询、帮助系统,极大地方便了用户的使用。
MATLAB简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误并进行出错原因分析。
· 简单易用的编程语言
MATLAB语言是一种高级的矩阵语言,它包含控制语句、函数、数据结构、输入和输出,具有面向对象编程的特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂应用程序(M文件)后再一起运行。
MATLAB 语言是基于流行的 C++语言的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式,更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性强,这也是 MATLAB 能够深入到科学研究及工程计算各个领域的重要原因。
· 强大的科学计算数据处理能力
MATLAB是一个包含大量计算算法的集合,其拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。
函数所能解决的问题大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅里叶变换,数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作,以及建模动态仿真等。函数中所使用的算法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。
在通常情况下,可以用MATLAB来代替底层编程语言,如C和C++。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
· 出色的图形处理功能
MATLAB自产生之日起就具有方便的数据可视化功能,能够将向量和矩阵用图形的形式表现出来,并且可以对图形进行标注和打印。
MATLAB的高层次的作图功能包括二维和三维的可视化、图像处理、动画和表达式作图,可用于科学计算和工程绘图。
MATLAB对整个图形处理功能进行了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理,以及四维数据的表现等), MATLAB同样表现出色。
对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。MATLAB还在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
· 应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱(Toolbox)。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,如神经网络、小波分析、优化算法、样条拟合、概率统计、偏微分方程求解、信号处理、图像处理、模糊逻辑、金融分析等,都在工具箱家族中有了自己的一席之地。
· 实用的程序接口和发布平台
MATLAB 可以利用MATLAB 编译器和 C/C++数学库和图形库,将自己的 MATLAB程序自动转换为独立于 MATLAB 运行的 C 和 C++代码,允许用户编写可以和 MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。