zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【MATLAB】利用冒号表达式获得子矩阵

MATLAB 利用 矩阵 表达式 获得 冒号
2023-09-11 14:20:37 时间

子矩阵是指由矩阵中的一部分元素构成的矩阵。我们既可以用冒号表达式作为引用矩阵的下标吗,也可以直接用单个的冒号来作为行下标或列下标,其代表全部行或全部列。则有先关概念如下:

A(i,:)					第i行的全部元素

A(:,j)					第j列的全部元素

A(i:i+m,k:k+m)			第i~i+m行内,
						且在第k~k+m列中的所有元素
													
A(i:i+m,:)				第i~i+m行的全部元素
%创建35列的矩阵A
>> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15]

A =

     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15

%利用冒号表达式获得子矩阵,其表达的是矩阵中第12行的元素。
>> A(1:2,:)

ans =

     1     2     3     4     5
     6     7     8     9    10

%表示引用矩阵第23行的第135列的元素
>> A(2:3,1:3:5)

ans =

     6     8    10
    11    13    15

我们还可以用一般向量和end运算符来作为下标,从而获得子矩阵。end表示某一维的末尾元素下标。例如:

%创建45列的矩阵A
>> A=[1,2,3,4,5;6,7,8,9,10;11,12,13,14,15;16,17,18,19,20];
>> A(end,:)		%引用矩阵A的最后一行元素

ans =

    16    17    18    19    20

%表示引用第14行的第3到最后一列元素
>> A([1,4],3:end)

ans =

     3     4     5
    18    19    20