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

MATLAB运算中涉及的基本运算量包括标量、向量、矩阵和数组。它们各自的特点及相互之间的关系如下。

(1)数组是一个用于高级语言程序设计的概念,不是一个数学量。如果数组元素按一维线性方式组织在一起,那么称其为一维数组,一维数组的数学原型是向量。如果数组元素分行、列排成一个二维平面表格,那么称其为二维数组,二维数组的数学原型是矩阵。

如果元素在排成二维数组的基础上,将多个行、列数分别相同的二维数组叠成一个立体表格,便形成三维数组。依次类推,便有了多维数组的概念。

MATLAB 中的数组不借助循环,而是直接采用运算符,它有自己独立的运算符和运算法则。

(2)矩阵是一个数学概念,MATLAB 将矩阵引入基本运算量后,不但实现了矩阵的简单加减乘除运算,而且许多与矩阵相关的其他运算也大大简化了。

(3)向量是一个数学量,在MATLAB 中,可视其为矩阵的特例。从 MATLAB 的工作空间窗口可以看到,一个n维的行向量是一个1×n阶的矩阵,列向量是一个n×1阶矩阵。

(4)标量也是一个数学概念,在MATLAB中,既可将其视为一简单变量,又可把它当成1×1阶的矩阵,这与矩阵作为MATLAB的基本运算量是一致的。

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

例如,在MATLAB中,A=[1 2; 3 4]有矩阵或二维数组两种可能的角色。从形式上不能完全区分它们是矩阵还是数组,此时要看使用的运算符及其与其他量之间进行的运算。

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