# How can I extract a single component from a Fourier decomposition of a 2D matrix and plot it as a 2D map?

2 views (last 30 days)
Carlo on 24 Mar 2015
Commented: Rick Rosson on 26 Mar 2015
I have a scalar field (potential vorticity PV) on a 2-D square grid (599x599 cells).
I need to do a Fourier decomposition of the field and extract the contribution of the most important components.
Then, I have to plot the map of each component alone.
I would like to know how to extract the single components of the field and plot them as 2D (599x599) maps.
So far:
% Spatial sampling intervals
% (in km per pixel):
dx = 15;
dy = 15;
F1 = fft2(PV); % 2D Fourier Transform of the matrix PV
F2 = fftshift(F1); % zero-frequency component in the middle of the spectrum
imagesc(abs(F2)),colorbar
Not sure what to do after this.. any help would be appreciated!
##### 2 CommentsShowHide 1 older comment
Carlo on 24 Mar 2015
Thanks Rick, I have added the spatial sampling intervals in the x- and y- directions

Rick Rosson on 24 Mar 2015
Edited: Rick Rosson on 24 Mar 2015
Here's a start:
[ M, N ] = size(PV);
Fs_x = 1/dx;
Fs_y = 1/dy;
dF_x = Fs_x/M;
dF_y = Fs_y/N;
Fx = -Fs_x/2:dF_x:Fs_x/2-dF_x + mod(M,2)*dF_x/2;
Fy = -Fs_y/2:dF_y:Fs_y/2-dF_y + mod(N,2)*dF_y/2;
F = meshgrid(Fx,Fy);
Rick Rosson on 26 Mar 2015
Yes.

### Categories

Find more on Partial Differential Equation Toolbox 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!

Translated by