矩阵元素按照放置的位置可进行按行引用、按列引用、按对角线引用,下面分别进行介绍。
矩阵元素引用的格式及说明如表3-11所示。
表3-11 矩阵(数组)元素引用的格式及说明
例3-27: 抽取魔方矩阵的对角线元素。
解 MATLAB程序如下:
>> clear % 清除工作区的变量 >> A=magic(5) % 创建5阶魔方矩阵A A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> v=diag(A,2) % 抽取矩阵A的第2条对角线上的元素,创建列向量v v = 1 14 22
矩阵建立起来之后,还需要对其元素进行修改,常用的矩阵元素修改命令如下:
A(m,:)=[]:删除 A 的第 m 行。
A(:,n)=[]:删除 A 的第 n 列。
例3-28: 矩阵元素的删除示例。
解 MATLAB程序如下:
>> clear % 清除工作区的变量 >> A=[1 2 3;4 5 6;7 8 9] % 创建矩阵A A = 1 2 3 4 5 6 7 8 9 >> B=A(2,:) % 提取矩阵A第2行的元素 B = 4 5 6 >> A(2,:)=[] % 删除矩阵A第2行的元素 A = 1 2 3 7 8 9 >> A(:,1)=[] % 删除矩阵A第1列的元素 2 3 8 9
在MATLAB中,函数bounds用于查找矩阵中的最小元素和最大元素,其调用格式及说明如表3-12所示。
表3-12 bounds函数调用格式及说明
例3-29: 求矩阵中元素的最值。
解 MATLAB程序如下:
>> clear % 清除工作区的变量 >> A=magic(4) % 创建4阶魔方矩阵A A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> [S,L] = bounds(A) % 返回矩阵A每一列的最小元素 S 和最大元素 L S = 4 2 3 1 L = 16 14 15 13 >> [S,L] = bounds(A,2) % 返回矩阵A 每一行元素的最小值和最大值 S = 2 5 6 1 L = 16 11 12 15
在MATLAB中,perms函数用来显示矩阵元素所有可能的排列,该函数的调用格式及说明如表3-13所示。
表3-13 perms函数调用格式及说明
例3-30: 行向量的所有排列。
解 MATLAB程序如下:
>> clear % 清除工作区的变量 >> v = [1 2 3] % 创建行向量v v = 1 2 3 >> P = perms(v) % 返回向量 v 中元素按字典顺序反序的所有排列 P = 3 2 1 3 1 2 2 3 1 2 1 3 1 3 2 1 2 3