# 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 - 维度顺序向量 | 元组 | 矩阵
维度顺序,包含表示输入数组维度的唯一正整数元素。