[Numpy-discussion] Integer cast problems
Ralph Kube
ralphkube@googlemail....
Thu Feb 12 11:21:03 CST 2009
Hi there,
I have a little problem here with array indexing, hope you see the problem.
I use the following loop to calculate some integrals
import numpy as N
from scipy.integrate import quad
T = 1
dt = 0.005
L = 3
n = 2
ints = N.zeros([T/dt])
for t in N.arange(0, T, dt):
a = quad(lambda
x:-1*(1-4*(t**4))*N.exp(-t**4)*N.exp(-x**2)*N.cos(n*N.pi*(x-L)/(2*L)),
-L, L)[0]
ints[int(t/dt)] = a
print t, N.int32(t/dt), t/dt, a, ints[int(t/dt)]
The output from the print statement looks like:
0.14 28 28.0 2.52124867251e-16 2.52124867251e-16
0.145 28 29.0 2.03015199575e-16 2.03015199575e-16
0.15 30 30.0 2.40857836418e-16 2.40857836418e-16
0.155 31 31.0 2.52191011339e-16 2.52191011339e-16
The same happens on the ipython prompt:
0.145 * 0.005 = 28.999999999999996
N.int32(0.145 * 0.005) = 28
Any ideas how to deal with this?
Cheers, Ralph
More information about the Numpy-discussion
mailing list