MATLAB中一个三维矩阵中如何提取出一个二维矩阵

函数功能:在MATLAB、FreeMat中,该函数按指定的向量来重新排列一个数组。

语法格式:
B = permute(A,order)
按照向量order指定的顺序重排A的各维。B中元素和A中元素完全相同。但由于经过重新排列,在A、B访问同一个元素使用的下标就不一样了。order中的元素必须各不相同。
对b=permute(a(:,1,:),[1 3 2]);进行解释:(:,1,:)表示取3列中(2,3,4)的第一个,[1 3 2]表示按矩阵变为[2,4,3];


>> a=rand(2,3,4);
>> a

a(:,:,1) =

    0.0878    0.4073    0.6183
    0.6821    0.6563    0.3876


a(:,:,2) =

    0.2322    0.2636    0.3777
    0.7890    0.8359    0.1458


a(:,:,3) =

    0.4592    0.0751    0.1429
    0.6121    0.6748    0.8044


a(:,:,4) =

    0.7069    0.5983    0.2846
    0.7527    0.2629    0.0409

>> b=permute(a(:,1,:),[1 3 2]); % (:,1,:)表示取3列中(2,3,4)的第一个,[1 3 2]表示按矩阵变为[2,4,3];
>> b

b =

    0.0878    0.2322    0.4592    0.7069
    0.6821    0.7890    0.6121    0.7527

猜你喜欢

转载自blog.csdn.net/wuli_dear_wang/article/details/88356141