On 4/29/11 12:31 AM, pratik wrote: > On Friday 29 April 2011 12:56 PM, dileep kunjaai wrote: >> Dear sir, >> I am trying to make an array of varies from -60 to 90 with difference >> 0.25. I tried the following command ...
>> >>import numpy as N >> lat=N.array(xrange(-6000, 9000, 25), dtype=float) >> print lat/100 xrange() (or range(), or np.arange()) is almost never the right solution for floating point ranges, due to the intricacies of floating point precision. > lat =numpy.mgrid[-60:90:.25] or np.linspace: np.linspace(-60,90,((60.+90.)*4. + 1)) ((60.+90.)*4. + 1) is the number of points you want -- the +1 because you want both end points. mgrid is usually used for 2-d (or higher) grids, though it looks like it makes sense for this use, too, though note that it doesn't give you both endpoints in this case. From the docs: """If the step length is not a complex number, then the stop is not inclusive. """ and an example: In [15]: np.mgrid[-1:3:.25] Out[15]: array([-1. , -0.75, -0.5 , -0.25, 0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. , 2.25, 2.5 , 2.75]) I think this is too bad, actually, because we're back to range()-type tricks to get the end point: In [20]: np.mgrid[-1:3.25:.25] Out[20]: array([-1. , -0.75, -0.5 , -0.25, 0. , 0.25, 0.5 , 0.75, 1. , 1.25, 1.5 , 1.75, 2. , 2.25, 2.5 , 2.75, 3. ]) -Chris -- Christopher Barker, Ph.D. Oceanographer Emergency Response Division NOAA/NOS/OR&R (206) 526-6959 voice 7600 Sand Point Way NE (206) 526-6329 fax Seattle, WA 98115 (206) 526-6317 main reception chris.bar...@noaa.gov _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion