0

我正在用 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。这是什么原因?

4

1 回答 1

3

temp为零,因为它以 开头1/2,即整数除法(结果为零)。在这两个地方使用1./20.5来防止这种情况。

temp=1./2*(1-muy1)**2-1./2*(1-muy2)**2
于 2013-01-22T19:50:57.297 回答