如何在Julia中为n维数组切换轴(尺寸)

jto*_*rca 3 python matlab matrix julia

我有一个数组,我想切换轴的顺序.它类似于转置,除了我想在尺寸大于2的数组上执行它.在Python中我会使用np.transpose和Matlab中的permute,但我似乎无法在Julia中找到它.例如,

a = ones(2, 3, 4)
size(a)
(2,3,4)
Run Code Online (Sandbox Code Playgroud)

从此我想通过将轴(尺寸)重新排列为(2,3,1)来得到一个形状(3,4,2)的数组.我正在寻找一个名为new_func的函数.

b = new_func(a, (2, 3, 1))
size(b)
(3,4,2)
Run Code Online (Sandbox Code Playgroud)

Kip*_*ros 6

根据Stefan Karpinski的说法,答案是Base.permutedims(docs).

例:

a = ones(2, 3, 4)
size(a) # => (2,3,4)

b = permutedims(a, [2, 3, 1])
size(b) # => (3,4,2)
Run Code Online (Sandbox Code Playgroud)