嘿我想生成一个零矩阵。因此我的想法是使用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]))
我在第二个矩阵处得到错误。我的错是什么;)
答案 0 :(得分:1)
您正在从三维数组创建矩阵,因为Vx
和Vy
已经是您创建它们的二维方式(尽管一个轴的长度为1)。有几种可能的补救措施,例如创建Vx
等。一维:
Vx=np.zeros(npoints)
或直接创建矩阵
V=np.matrix(np.zeros(2,npoints))
可能还有很多其他人。
请注意,您理解中的错误可能是np.zeros
将形状作为输入而不是某种坐标范围。因此,您可以使用np.zeros
直接创建所需形状的数组。例如,上述调用会生成一个2x npoints
矩阵。