Numeric, vectorization

RonnyM ronnyma at math.uio.no
Mon May 1 12:17:34 EDT 2006


Hello.

I want to vectorize this operation, which below is implemented as a
for-loop:

def smoothing_loop( y ): #y is an array with noisy values
    ybar = []
    ybar.append( y[0] )
        #Smoothing with a loop
    length = size( y )
    for i in range( 1, length -1 ):
        ybar.append( .5 * ( y[ i-1 ] + y[ i + 1 ] ) )

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.


Regards,

Ronny Mandal




More information about the Python-list mailing list