在python中创建一个充满零的4d矩阵,numpy

Joe*_*wen 2 python matlab numpy

我试图使用以下代码在python中创建一个4维矩阵;

import numpy as np
rho=np.zeros(2,2,2,2)
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误;

    rho=np.zeros(2,2,2,2)
TypeError: function takes at most 3 arguments (4 given)
Run Code Online (Sandbox Code Playgroud)

这似乎在matlab中有效,但不是在这里.任何帮助将不胜感激,谢谢!

DSM*_*DSM 12

传递一个参数,一个由四个元素组成的元组,而不是传递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)
Run Code Online (Sandbox Code Playgroud)

调用签名zeros(shape, dtype=float, order='C'),因此它试图解释第2的形状,第二个2作为类型,第三2作为存储顺序,然后它不知道如何处理的最后2做.