about computing fft in wavenumber domain

I have signal distributed in space domain (x,y,z). and I want to calculate its wavenumber doain for (x,ky,z) domain. how can I carry out this task(without using a do loop over all of y values)?

 Accepted Answer

Use
fft(data, [], 2)

5 Comments

Thanks David
Do you mean that with the mentioned command , second column of "data" assumed as "y" and the "[]" contains array of wavenumbers?
No, the [] indicates that the default number of fft points is to be used, and the 2 means to work across rows rather than down columns.
This syntax is the third one listed in the possibilities in the fft reference documentation, http://www.mathworks.com/help/techdoc/ref/fft.html
Thanks Walter
I have read the document, but it says only that :
Y = fft(X,[],dim) and Y = fft(X,n,dim) applies the FFT operation across the dimension dim.
then it means that "Dim" refers to a determined coordination direction, and even may be more than 2 and it doesn't refer to specify working with rows rather than columns.
please tell me if I got the point true or not.
The dimension refers to the matrix dimension index in standard matlab order -- columns first, rows second, "pages" third, unnamed entities for the higher dimensions. It is logically equivalent to using ":" as the dim'th element in indexing the vector with the other elements held constant for any one operation.
It is the value 2 that indicates working across rows, rather than just the presence of a parameter at that location.
Thank you very much.
your explanation was really helpful.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!