Numeric, vectorization

David Isaac aisaac0 at verizon.net
Mon May 1 12:32:24 EDT 2006


"RonnyM" <ronnyma at math.uio.no> wrote in message
news:1146500254.216411.166700 at u72g2000cwu.googlegroups.com...
> e.g. y = [ 1, 2, 3, 4, 5, 6 ,7 ,8, 9 ]

> ybar = [ 1, (1 + 3)*.5,(2 + 4)*.5,(3 + 5)*.5,..., (n-1 + n+1)*.5 ], n =
> 1,...len(y) -1
> How do I make a vectorized version of this, I will prefer not to
> utilize Map or similar functions, but numeric instead.


You treat the first element asymmetrically, so that does not vectorize.
The rest does:
>>> import numpy as N
>>> y=N.arange(1,10)
>>> slice1 = slice(0,-2,1)
>>> slice2 = slice(2,None,1)
>>> ybar = 0.5*(y[slice1]+y[slice2])
>>> ybar
array([ 2.,  3.,  4.,  5.,  6.,  7.,  8.])

hth,
Alan Isaac





More information about the Python-list mailing list