1.2 MATLAB的特点及应用领域
MATLAB有两种基本的数据运算量:数组和矩阵,单从形式上,它们之间是不好区分的。每一个量可能被当作数组,也可能被当作矩阵,这要依所采用的运算法则或运算函数来定。在MATLAB中,数组与矩阵的运算法则和运算函数是有区别的。但不论是MATLAB的数组还是MATLAB的矩阵,都已经改变了一般高级语言中使用数组的方式和解决矩阵问题的方法。
在MATLAB中,矩阵运算是把矩阵视为一个整体来进行,基本上与线性代数的处理方法一致。矩阵的加减乘除、乘方开方、指数对数等运算,都有一套专门的运算符或运算函数。而对于数组,不论是算术的运算,还是关系或逻辑的运算,甚至于调用函数的运算,形式上可以当作整体,有一套有别于矩阵的、完整的运算符和运算函数,但实质上却是针对数组的每个元素施行的。
当MATLAB把矩阵(或数组)独立地当作一个运算量来对待后,向下可以兼容向量和标量。不仅如此,矩阵和数组中的元素可以用复数作基本单元,向下可以包含实数集。这些是MATLAB区别于其他高级语言的根本特点。以此为基础,还可以概括出如下一些MATLAB的特色。
1.语言简洁,编程效率高
因为MATLAB定义了专门用于矩阵运算的运算符,使得矩阵运算就像列出算式执行标量运算一样简单,而且这些运算符本身就能执行向量和标量的多种运算。利用这些运算符可使一般高级语言中的循环结构变成一个简单的MATLAB语句,再结合MATLAB丰富的库函数可使程序变得相当简短,几条语句即可代替数十行C语言或Fortran语言程序语句的功能。
2.交互性好,使用方便
在MATLAB的命令窗口中,输入一条命令,立即就能看到该命令的执行结果,体现了良好的交互性。交互方式减少了编程和调试程序的工作量,给使用者带来了极大的方便。因为不用像使用C语言和Fortran语言那样,首先编写源程序,然后对其进行编译、连接,待形成可执行文件后,方可运行程序得出结果。
3.强大的绘图能力,便于数据可视化
MATLAB不仅能绘制多种不同坐标系中的二维曲线,还能绘制三维曲面,体现了强大的绘图能力。正是这种能力为数据的图形化表示(即数据可视化)提供了有力工具,使数据的展示更加形象生动,有利于揭示数据间的内在关系。
4.学科众多、领域广泛的工具箱
MATLAB工具箱(函数库)可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、控制工具箱、通信工具箱、图像处理工具箱、小波工具箱等。
5.开放性好,易于扩充
除内部函数外,MATLAB的其他文件都是公开的、可读可改的源文件,体现了MATLAB的开放性特点。用户可修改源文件和加入自己的文件,甚至构造自己的工具箱。
6.与C语言和Fortran语言有良好的接口
通过MEX文件,可以方便地调用C语言和Fortran语言编写的函数或程序,完成MATLAB与它们的混合编程,充分利用已有的C语言和Fortran语言资源。
MATLAB的应用领域十分广阔,典型的应用举例如下:
(1)数据分析;
(2)数值与符号计算;
(3)工程与科学绘图;
(4)控制系统设计;
(5)航天工业;
(6)汽车工业;
(7)生物医学工程;
(8)语音处理;
(9)图像与数字信号处理;
(10)财务、金融分析;
(11)建模、仿真及样机开发;
(12)新算法研究开发;
(13)图形用户界面设计。