julia - 有效地 reshape 数组 2D -> 3D

标签 julia

我目前正在处理具有二维矩阵/维度数组(n,pxq)的数据集。我必须 reshape 这些矩阵以获得大小为 (n,q,p) 的 3D 数组。 目前,我陷入困境

# Assuming mat2 exists
mat3 = zeros(n,q,p)
for r in 1:n
    mat3[r,:,:] = transpose(reshape(mat2[r,:],p,q))
end

有没有办法避免这种操作,或者至少对其进行一些优化?

最佳答案

使用reshape + permutedims :

mat3 = permutedims(reshape(mat2, n, p, q), (1, 3, 2))

关于julia - 有效地 reshape 数组 2D -> 3D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66320554/

相关文章:

julia - 什么时候使用 Julia 的 convert()?

dataframe - 在 Julia 中转换 DataFrame 时如何跳过缺失值

plot - 使用 Julia-Package "Plots"的不对称带状折线图

julia - 是否可以从抽象类型 julia 以外的东西继承?

c++ - 将 double 组转换为仅具有 double 成员的结构数组而不复制数据

julia - 元素明智的操作数组 Julia

Julia 正则表达式\w+/g

matrix - 如何在只有一个值集的稀疏矩阵中查找列

julia - 如何设置要在 IJulia 中显示的文本量

arrays - 在 Julia 中创建一个数组