MATLAB基础及其应用教程
上QQ阅读APP看书,第一时间看更新

2.1.3 标量、向量、矩阵与数组

标量、向量、矩阵和数组是MATLAB运算中涉及的一组基本运算量。它们各自的特点及相互间的关系可以描述如下:

(1)数组不是一个数学量,而是一个用于高级语言程序设计的概念。如果数组元素按一维线性方式组织在一起,那么称其为一维数组,一维数组的数学原型是向量。如果数组元素分行、列排成一个二维平面表格,那么称其为二维数组,二维数组的数学原型是矩阵。如果元素在排成二维数组的基础上,再将多个行、列数分别相同的二维数组叠成一本立体表格,便形成三维数组。依此类推下去,便有了多维数组的概念。在MATLAB中,数组的用法与一般高级语言不同,它不借助于循环,而是直接采用运算符,有自己独立的运算符和运算法则,2.1.5节和2.4节将有专门讨论。

(2)矩阵是一个数学概念,一般高级语言并未引入将其作为基本的运算量,但MATLAB是个例外。一般高级语言是不认可将两个矩阵视为两个简单变量而直接进行加减乘除的,要完成矩阵的四则运算必须借助于循环结构。当MATLAB将矩阵引入作为基本运算量后,上述局面改变了。MATLAB不仅实现了矩阵的简单加减乘除运算,而且许多与矩阵相关的其他运算也因此大大简化了。

(3)向量是一个数学量,一般高级语言中也未引入,它可视为矩阵的特例。从MATLAB的工作空间窗口可以查看到:一个n维的行向量是一个1×n阶的矩阵,而列向量则当成n×1阶的矩阵。

(4)标量的提法也是一个数学概念,但在MATLAB中,一方面可将其视为一般高级语言的简单变量来处理,另一方面又可把它当成1×1阶的矩阵,这一看法与矩阵作为MATLAB的基本运算量是一致的。

(5)在MATLAB中,二维数组和矩阵其实是数据结构形式相同的两种运算量。二维数组和矩阵的表示、建立、存储根本没有区别,区别只在它们的运算符和运算法则不同。

例如,向命令窗口中输入a=[1 2;3 4]这个量,实际上它有两种可能的角色:矩阵a或二维数组a。这就是说,单从形式上是不能完全区分矩阵和数组的,必须再看它使用什么运算符与其他量之间进行运算。相关运算符在2.1.5节会给出描述。

(6)数组的维和向量的维是两个完全不同的概念。数组的维是从数组元素排列后所形成的空间结构去定义的:线性结构是一维,平面结构是二维,立体结构是三维,当然还有四维以至多维。向量的维相当于一维数组中的元素个数。