函数功能:在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