我正在尝试使用以下代码在 python 中创建一个 4 维矩阵;
import numpy as np
rho=np.zeros(2,2,2,2)
但是我得到以下错误;
rho=np.zeros(2,2,2,2)
TypeError: function takes at most 3 arguments (4 given)
这似乎在 matlab 中有效,但在这里不行。任何帮助,将不胜感激, 谢谢!
最佳答案
不是传递 4 个参数,而是传递一个参数,一个包含四个元素的元组:
>>> rho=np.zeros((2,2,2,2))
>>> rho
array([[[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]]],
[[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]]]])
>>> rho.shape
(2, 2, 2, 2)
call signature是 zeros(shape, dtype=float, order='C')
,因此它试图将前 2 个解释为形状,将第二个 2 解释为类型,将第三个 2 解释为存储顺序,然后它不知道如何处理最后 2 个。
关于python - 在python,numpy中创建一个充满零的4d矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29042182/