矩阵是数字的二维数组。
在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将执行上述语句并返回以下结果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8]
a =
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
引用矩阵中的元素
要引用矩阵mx的第m行和第n列中的元素,可以这样书写 -
mx(m, n);
例如,要引用矩阵a的第2行和第5列中的元素,如上一节所述,可以这样书写 -
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执行上述语句并返回以下结果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(2,5)
ans =
6
要引用第m列中的所有元素,可以使用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执行上述语句并返回以下结果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
v = a(:,4)
v =
4
5
6
7
还可以选择第m至第n列中的元素,代码如下 -
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执行上述语句并返回以下结果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
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执行上述语句并返回以下结果 -
Trial>> a = [ 1 2 3 4 5; 2 3 4 5 6; 3 4 5 6 7; 4 5 6 7 8];
a(:, 2:3)
ans =
2 3
3 4
4 5
5 6
以同样的方式,可以创建一个矩阵的子部分的子矩阵。
例如,要创建一个子矩阵sa,其包含以下内容的内部子部分:
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 = [ 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 = [ 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
例子
在这个例子中,首先创建一个3x3的矩阵m,然后复制该矩阵的第二行和第三行两次来创建一个4x3的矩阵。
使用以下代码创建脚本文件 -
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
矩阵运算
在本节中,让我们讨论和学习下面一些常用的矩阵运算 -