Here is the for loop that I am think about. Also, I do not know whether the where commands can handle the complicated logic.
The where command basically find the data in the square around the point cnstl[j].
Let the data array is qam with size N
Out = X
error = X
for i in arange(N):
for j in arange(L):
aa = np.where((real(X)<real(cnstl[j])+1) & (real(X)>real(cnstl[j])-1) & (imag(X)<imag(cnstl[j])+1) & (imag(X)>imag(cnstl[j]-1)) Out[aa]=cnstl[j]
error[aa]=abs(X)**2 - abs(cnstl[j])**2
> Date: Wed, 28 Jan 2009 23:57:16 -0600 > From: firstname.lastname@example.org > To: email@example.com > Subject: Re: [Numpy-discussion] help on fast slicing on a grid > > On Wed, Jan 28, 2009 at 23:52, frank wang <firstname.lastname@example.org> wrote: > > > > Hi, > > > > I have to buidl a grid with 256 point by the command: > > a = arange(-15,16,2) > > L = len(a) > > cnstl = a.reshape(L,1)+1j*a > > > > My problem is that I have a big data array that contains the data round the > > points in cnstl. I want to slice the point to the closest cnstl point and > > also compute the error. The condition is in the middle of the two point in x > > and y axis. I can do it in a for loop. Since Python and numpy have a lot of > > magic, I want to find an efficient way to do. This problem arise from QAM > > 256 modulation. > > Can you show us the for loop? I'm not really sure what you want to compute. > > -- > Robert Kern > > "I have come to believe that the whole world is an enigma, a harmless > enigma that is made terrible by our own mad attempt to interpret it as > though it had an underlying truth." > -- Umberto Eco > _______________________________________________ > Numpy-discussion mailing list > Numpyemail@example.com > http://projects.scipy.org/mailman/listinfo/numpy-discussion