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

    xiaoxiao2023-12-15  167

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

    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
    最新回复(0)