N维数组如何部分维度分割?

我有一个不定维度的数组,想在第一个和第二个维度上进行分割,其他维度不变,请问该怎么做?
例:对于二维和三维数组:

# 二维:
a[1:10, 1:10]

# 三维
a[1:10, 1:10, :]

万分感谢!

view(a, 1:10, 1:10, size(a)[3:end]...)

感谢回复,但这种方法好像只能输出后面维数各自的最大索引的数组,在你的方法的提醒下,我发现这样可以满足要求:

view(a, 1:10, 1:10, map(x->1:x, size(a)[3:end])...)

呃,确实(走路上随手打错了……

可以这样子 ntuple(i->(:), ndims(a)-2)…

或者 直接把原来的取出来, axes(a)[3:end]…

2 个赞

或者 直接把原来的取出来, axes(a)[3:end]…

对,这个性能更高。