MATLAB - 矩阵
矩阵是二维数字数组。
在 MATLAB 中,您可以通过在每行中输入以逗号或空格分隔的数字形式的元素并使用分号标记每行的末尾来创建矩阵。
例如,让我们创建一个 4×5 矩阵 a −
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
MATLAB 将执行上述语句并返回以下结果 −
a = 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8
引用矩阵的元素
要引用矩阵 mx 的第 mth 行和第 n 列中的元素,我们编写 −
mx(m, n);
例如,引用上一节中创建的矩阵 a 的第 2nd 行和第 5th 列中的元素 ,我们输入 −
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(2,5)
MATLAB 将执行上述语句并返回以下结果 −
ans = 6
要引用第 mth 列中的所有元素,我们键入 A(:,m)。
让我们根据矩阵 a 第 4 行的元素创建一个列向量 v −
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; v = a(:,4)
MATLAB 将执行上述语句并返回以下结果 −
v = 4 5 6 7
您还可以选择第 mth 到第 nth 列中的元素,为此我们编写 −
a(:,m:n)
让我们创建一个较小的矩阵,获取第二列和第三列的元素 −
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(:, 2:3)
MATLAB 将执行上述语句并返回以下结果 −
ans = 2 3 3 4 4 5 5 6
以同样的方式,您可以使用矩阵的子部分来创建子矩阵。
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(:, 2:3)
MATLAB 将执行上述语句并返回以下结果 −
ans = 2 3 3 4 4 5 5 6
以同样的方式,您可以使用矩阵的子部分来创建子矩阵。
例如,让我们创建一个子矩阵 sa,取 a 的内部子部分 −
3 4 5 4 5 6
为此,请编写 −
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; sa = a(2:3,2:4)
MATLAB 将执行上述语句并返回以下结果 −
sa = 3 4 5 4 5 6
删除矩阵中的行或列
您可以通过向该行或列分配一组空方括号 [] 来删除矩阵的整行或整列。 基本上,[] 表示一个空数组。
例如,我们删除 a 的第四行 −
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a( 4 , : ) = []
MATLAB 将执行上述语句并返回以下结果 −
a = 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7
接下来,我们删除 a 的第五列 −
a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]; a(: , 5)=[]
MATLAB 将执行上述语句并返回以下结果 −
a = 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7
示例
在此示例中,让我们创建一个 3×3 矩阵 m,然后将该矩阵的第二行和第三行复制两次以创建一个 4×3 矩阵。
使用以下代码创建脚本文件 −
a = [ 1 2 3 ; 4 5 6; 7 8 9]; new_mat = a([2,3,2,3],:)
当您运行该文件时,它会显示以下结果 −
new_mat = 4 5 6 7 8 9 4 5 6 7 8 9
矩阵运算
在本节中,我们将讨论以下基本且常用的矩阵运算 −