用np.zeros Python生成矩阵 - 矩阵必须是2个二维误差

时间:2016-02-15 10:07:30

标签: python matrix

嘿我想生成一个零矩阵。因此我的想法是使用3个zerovectors。不幸的是我得到了错误:

“矩阵必须是二维的”

这是我的代码:

dx=0.5
dy=0.5
dz=0.5
npoints = 9         #count of total x-values
x=np.arange(-2.,2.1,dx)
y=np.arange(-2.,2.1,dy)
z=np.arange(-2.,2.1,dz)
M=np.matrix(([x,y,z]))
print M
print 
print
Vx= np.zeros((1, npoints))
print Vx
Vy=np.zeros((1,npoints))
Vz=np.zeros((1,npoints))
V=np.matrix(([Vx,Vy]))

我在第二个矩阵处得到错误。我的错是什么;)

1 个答案:

答案 0 :(得分:1)

您正在从三维数组创建矩阵,因为VxVy已经是您创建它们的二维方式(尽管一个轴的长度为1)。有几种可能的补救措施,例如创建Vx等。一维:

Vx=np.zeros(npoints)

或直接创建矩阵

V=np.matrix(np.zeros(2,npoints))

可能还有很多其他人。

请注意,您理解中的错误可能是np.zeros将形状作为输入而不是某种坐标范围。因此,您可以使用np.zeros直接创建所需形状的数组。例如,上述调用会生成一个2x npoints矩阵。