0

Pythonで3Dサーフェスをプロットしています。ここで、muy1とmuy2は、meshgridによって作成された2つの行列です。

[[-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

temp1/2整数除算である、で始まるため、はゼロです(結果はゼロになります)。それを防ぐために、1./2または両方の場所で使用してください。0.5

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