frank wang wrote: > Hi, I am new user from matlab world. So I always compare with matlab. > in my code, i have a large array with about 100000 data. when I perform > > c=fft(b) > d=abs(c) > plot(d) > > I got good response. however, when i try to execute: > plot(abs(fft(b)))
Can you post the exact script you used ? To be sure you are using the fft/abs/plot you think you are using (does the abs comes from python, or is it numpy.abs ? Without the imports, we can't tell). My first wild guess that your size is not factorisable in small numbers. Are you always using the same dataset (more exactly, the same number of data ?). Because numpy uses (light version of ) fftpack, which does not handle well numbers which are not factorisable in small numbers. In particular, if your size is a prime number, fftpack effectively is O(N^2). In General, it is a good idea to use the next power of 2 if at all possible; another solution is to use scipy.fftpack, which if you have for example fftw installed, deals with prime numbers. Otherwise, I don't see what could be different between doing each step after the other, and everything at once. cheers, David _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion