# ipermutedims


逆置换数组的维度

函数库: TyBase

# 语法

A = ipermutedims(B, dimorder)

# 说明

A = ipermutedims(B,dimorder) 按照 dimorder 指定的顺序重新排列数组 B 的维度,使得 B = permute(A,dimorder)。换句话说,输入数组的第 i 个维度变为输出数组的维度 dimorder[i]。示例

# 示例

三维数组

创建一个 4×3×2 数组 B,并根据维度顺序 [3 1 2] 计算其逆置换。

using TyBase
B = rand(4,3,2)
B = 4×3×2 Array{Float64, 3}:

[:, :, 1] =
0.0192193    0.430944   0.53077
0.235217     0.0563206  0.473665
0.596768     0.105664   0.790492
0.000588007  0.399377   0.288386

[:, :, 2] =
0.342145   0.888172  0.792648
0.0719897  0.750688  0.597253
0.485101   0.159455  0.375802
0.933241   0.346503  0.199024
A = ipermutedims(B,[3 1 2])
A = 3×2×4 Array{Float64, 3}:

[:, :, 1] =
0.0192193  0.342145
0.430944   0.888172
0.53077    0.792648

[:, :, 2] =
0.235217   0.0719897
0.0563206  0.750688
0.473665   0.597253

[:, :, 3] =
0.596768  0.485101
0.105664  0.159455
0.790492  0.375802

[:, :, 4] =
0.000588007  0.933241
0.399377     0.346503
0.288386     0.199024

逆置换 A 是满足如下条件的数组:当您使用相同的维度顺序对其进行置换时,结果等于原始数组 B。

C = permutedims(A,[3 1 2])
C = 4×3×2 Array{Float64, 3}:

[:, :, 1] =
0.0192193    0.430944   0.53077
0.235217     0.0563206  0.473665
0.596768     0.105664   0.790492
0.000588007  0.399377   0.288386

[:, :, 2] =
0.342145   0.888172  0.792648
0.0719897  0.750688  0.597253
0.485101   0.159455  0.375802
0.933241   0.346503  0.199024

# 输入参数

B - 输入数组
向量 | 矩阵 | 多维数组

输入数组,指定为向量、矩阵或多维数组。

dimorder - 维度顺序
向量 | 元组 | 矩阵

维度顺序,包含表示输入数组维度的唯一正整数元素。

# 另请参阅

permutedims