Julia:关于未确定维度的数组的问题

时间:2018-04-02 03:01:34

标签: arrays julia

我有两个初学者的问题:

(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]

等。问题是要找到一种有效的方法:对于任何维度的数组,我总是可以修复最后一个维度并提取值。

任何帮助都将受到高度赞赏!

2 个答案:

答案 0 :(得分:2)

(1)C = reshape(A,b...)

(2)EllipsisNotation.jl提供..运算符,因此C[..,1]可以满足您的需求。

答案 1 :(得分:0)

如果您不想安装软件包,则{2}有C[ntuple(x->:, ndims(C)-1)..., 1]