函式簡介
函式功能:在MATLAB、FreeMat中,該函式按指定的向量來重新排列一個數組。
語法格式:
B = permute(A,order)
按照向量order指定的順序重排A的各維。B中元素和A中元素完全相同。但由於經過重新排列,在A、B訪問同一個元素使用的下標就不一樣了。order中的元素必須各不相同。
相關函式:ipermute, circshift, shiftdim, reshape
程式示例
下面這個例子來自FreeMat的幫助文檔
--> A = [1,2;4,5]
A =
1 2
4 5
--> permute(A,[2,1])
ans =
1 4
2 5
--> A'
ans =
1 4
2 5
可見permute(A,[2,1])實現了矩陣的轉置。
--> A = randn(13,5,7,2);
--> size(A)
ans = 13 5 7 2
--> B = permute(A,[3,4,2,1]);
--> size(B)
ans = 7 2 5 13
再看Matlab中一個示例:
>> A = [1 2 3; 4 5 6];
>> B = permute(A, [2, 1]);
>> A(1,2)
ans = 2
>> B(2,1)
ans = 2
即訪問同一個元素,所使用的下標順序不一樣。