# plotting FFT in matlab

Started by August 12, 2008
```suppose f(x)=exp(-x^2) then it's fourier transform is also
exponential. I'm trying to perform FFT and plot it. I'm using this but
the FFT

x=-10:0.01:10;
y=exp(-x.^2);
N=5000;
z=fft(y,N);
F=[-N/2:N/2-1]/N;
plot(F,z,'b');
```
```>suppose f(x)=exp(-x^2) then it's fourier transform is also
>exponential. I'm trying to perform FFT and plot it. I'm using this but
>the FFT
>
>x=-10:0.01:10;
>y=exp(-x.^2);
>N=5000;
>z=fft(y,N);
>F=[-N/2:N/2-1]/N;
>plot(F,z,'b');
>
First of all, your z is complex, so using a simple plot command is going
to give you a warning (I have 2008b, I don't remember how older MATLAB
behaves).  Next, to get the "standard" view, with 0 Hz in the middle, you
should apply an fftshift to whatever component you want to view, e.g.,
plot(F, real(fftshift(z)), 'b').  If you plot the absolute value of z
(abs(fftshift(z))), you'll get a similar exponential shape, btw.

Mark
```
```On Aug 12, 11:46&#2013266080;am, novis <stands...@gmail.com> wrote:
> suppose f(x)=exp(-x^2) then it's fourier transform is also
> exponential. I'm trying to perform FFT and plot it. I'm using this but
> the FFT
>
> x=-10:0.01:10;
> y=exp(-x.^2);
> N=5000;
> z=fft(y,N);
> F=[-N/2:N/2-1]/N;
> plot(F,z,'b');

Gaussian.
```
```>(I have 2008b, I don't remember how older MATLAB behaves).
That would be 2008a, not b.

Mark
```
```On Tue, 12 Aug 2008 08:46:37 -0700 (PDT), novis <standshik@gmail.com>
wrote:

>suppose f(x)=exp(-x^2) then it's fourier transform is also
>exponential. I'm trying to perform FFT and plot it. I'm using this but
>the FFT
>
>x=-10:0.01:10;
>y=exp(-x.^2);
>N=5000;
>z=fft(y,N);
>F=[-N/2:N/2-1]/N;
>plot(F,z,'b');

Hi novis,
Try the following:

clear, clc
x = -3:0.1:3;
y = exp(-x.^2);

figure(1)
subplot(3,1,1)
plot(x, real(y), '-bo', 'markersize', 2)
subplot(3,1,2)
plot(x, imag(y), '-bo', 'markersize', 2)

N = 1024;
z = fft(y,N);
Mag = abs(z);
Mag_shifted = fftshift(Mag);
F = [-N/2:N/2-1]/N;
subplot(3,1,3)
plot(F, Mag_shifted, 'b');

[-Rick-]

```