我有两个初学者的问题:
(1)我想重塑一个数组,但是维度来自一个可以是变量的向量。例如,
A = ones(120,1)
b = [2,3,4,5]
我可以写
C = reshape(A,2,3,4,5)
但是如果b可以变化,我想要像
这样的东西C = reshape(A,b)
此代码适用于Matlab。朱莉娅有模拟人吗?
(2)我想切割高维数组,同时保持尺寸灵活。在上面的示例中,我修复了最后一个维度:
C[:,:,:,1]
C[:,:,:,2]
等。问题是要找到一种有效的方法:对于任何维度的数组,我总是可以修复最后一个维度并提取值。
任何帮助都将受到高度赞赏!
答案 0 :(得分:2)
(1)C = reshape(A,b...)
(2)EllipsisNotation.jl提供..
运算符,因此C[..,1]
可以满足您的需求。
答案 1 :(得分:0)
如果您不想安装软件包,则{2}有C[ntuple(x->:, ndims(C)-1)..., 1]
。