Hi everyone

I was wondering if there is a more optimal way to write what follows:
I am studying waves, so I have an array of wave crests positions, Xcrest
and the positions of the ZeroCrossings, Xzeros.

The goal is to find between which Xzeros my xcrest are.


XXX1=XCrest
CrestZerosNeighbour=np.zeros([len(XCrest),2], dtype='d')
for nn in range(len(Xzeros)-1):
    X1=Xzeros[nn]
    X2=Xzeros[nn+1]
    indexxx1=np.where((X1<=XXX1) & (XXX1 < X2))
    try:
      CrestZerosNeighbour[indexxx1[0]]=np.array([X1,X2])
    except:
      pass

Someone has an idea? in the spirit of (numpy.ma.masked_outside) which does
exactly the opposite I want: it masks an array outside an interval. I would
like to mask everything except the interval that contains my value.
I do this operation a large number of times , and a loop is time consuming.

thanks
Xavier


-- 
 « Quand le gouvernement viole les droits du peuple, l'insurrection est,
pour le peuple et pour chaque portion du peuple, le plus sacré des droits
et le plus indispensable des devoirs »

Déclaration des droits de l'homme et du citoyen, article 35, 1793
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to