MATLAB 可以简单地通过索引新值来增长矩阵;numpy
不允许这样做。但你可以串联起来A
and B
创建一个具有形状的新数组(a,b,1,d+1)
In [1187]: np.concatenate((np.ones((2,3,1,4)), np.ones((2,3,1,1))), axis=-1).shape
Out[1187]: (2, 3, 1, 5)
但如果您想多次执行此操作,我建议将中间数组收集在一个列表中,并在最后进行一次连接。这样更有效率。
In [1189]: a = [np.zeros((2,3,1,1))]
In [1190]: for i in range(4):
...: a.append(np.ones((2,3,1,1))*i)
...: a = np.concatenate(a, axis=-1)
...:
In [1191]: a.shape
Out[1191]: (2, 3, 1, 5)
In [1192]: a
Out[1192]:
array([[[[ 0., 0., 1., 2., 3.]],
....
[[ 0., 0., 1., 2., 3.]]]])