我正在用Python绘制3D表面。这里muy1和muy2是由meshgrid创建的两个矩阵:
[[-5. -4.75 -4.5 ..., 4.25 4.5 4.75]
[-5. -4.75 -4.5 ..., 4.25 4.5 4.75]
[-5. -4.75 -4.5 ..., 4.25 4.5 4.75]
...,
[-5. -4.75 -4.5 ..., 4.25 4.5 4.75]
[-5. -4.75 -4.5 ..., 4.25 4.5 4.75]
[-5. -4.75 -4.5 ..., 4.25 4.5 4.75]]
之后计算函数Z并绘制
Z=zeros((40,40))
for xi in x:
temp=1/2*(1-muy1)**2-1/2*(1-muy2)**2;
print temp;
Z=Z-temp;
print "Final"
print Z
但是我一直让Z为0.这是什么原因?
答案 0 :(得分:3)
temp
为零,因为它以1/2
开头,它是整数除法(结果为零)。在这两个地方使用1./2
或0.5
来防止这种情况发生。
temp=1./2*(1-muy1)**2-1./2*(1-muy2)**2