2.1 如何在MATLAB中生成矩阵
一般而言,在MATLAB中创建矩阵的方式有两种:一种是与枚举式直接赋值法相似,直接使用赋值语句对枚举矩阵的每个元素进行赋值;另一种则是MATLAB库函数中提供的创建特殊矩阵的基本指令。
2.1.1 如何生成数值矩阵
1.实数值矩阵输入
任何矩阵(向量)都可以直接按行方式输入每个元素:同一行中的元素用逗号(,)或者用空格符来分隔,且空格个数不限;不同的行用分号(;)分隔。所有元素处于一方括号([])内;当矩阵是多维(三维以上)且方括号内的元素是维数较低的矩阵时,会有多重的方括号。图2.1、图2.2展示了如何输入一个矩阵。
图2.1 输入一个行矩阵
图2.2 输入一个3×3矩阵
经验分享:上面所提到的逗号和分号在输入的时候要注意输入法状态,应该在“半角”及“英文标点”格式下输入标点符号,否则会提示出错(如图2.3所示)。
图2.3 MATLAB提示输入字符出错
2.向量输入
由于向量可以看成是一维矩阵,所以上述生成矩阵的方法同样也适用于生成向量。另外,向量也可以通过如下方式生成:
X=X0:STEP:Xn %产生以X0为初始值,步长为STEP,终值不超过Xn的数值型向量
经验分享:(实例如图2.4所示)
(1)Xn是该向量最后一个分量的界限,不一定是最后一个数;
(2)当X0<Xn时,要求STEP>0;当X0>Xn时,要求STEP<0;
(3)当STEP省略时,STEP=1。
3.利用函数生成矩阵
特殊矩阵的生成函数如表2.1所示。
图2.4 向量生成实例
表2.1 特殊矩阵的生成函数
图2.5为部分特殊矩阵生成函数的使用实例。
图2.5 部分特殊矩阵生成函数的使用实例
图2.5(续)
经验分享:对于同一个特殊矩阵生成函数而言,其存在不同的版本,主要区别在于输入参数的不同。因此,为更好地使用这些特殊矩阵生成函数,用户可以通过help命令或直接查看MATLAB的帮助目录以更加详细深入地了解这些特殊矩阵生成函数。
4.创建多维数组
方法1:采用直接赋值法,如图2.6所示。
图2.6 采用直接赋值法生成多维矩阵
方法2:采用cat函数。
函数:cat
格式:A=cat(n, A1, A2, …, Am)
说明:n=1和n=2时分别构造[A1; A2]和[A1, A2],都是二维数组,而n=3时可以构造出三维数组。
使用cat函数生成多维矩阵的实例如图2.7所示。
图2.7 使用cat函数生成多维矩阵实例
2.1.2 如何生成复数矩阵
复数矩阵有两种生成方式,如图2.8和图2.9所示。
图2.8 复数矩阵的第一种生成方式
图2.9 复数矩阵的第二种生成方式