# Matlab/Fast Fourier Transform

• MATLAB
Hi,
I am very new to Matlab, and I'm supposed to use the built-in FFT function to do discrete Fourier Transform for f(x) = sin x + 4 cos(5x) + (sin(6x))^2 on the interval [-pi, pi] with a uniform partition for the interval with n = 9. Then I have to
(a) Plot the magnitudes of the Fourier coefficients and
(b) Compute the first-order derivates at the grid points via FFT and compare them with f'(x).

Here's what I have for part (a):

x = -pi:0.25*pi:pi;
y = sin(x)+4*cos(5*x) + sin(6*x).*sin(6*x);
V=fft(y,9);
plot(abs(V));

I'm a little confused with what the function fft returns. Does it return the Fourier coefficients of f(x) in my program?

I got
V =
-0.0000
-5.9965 + 2.1842i
-4.5019 - 4.8898i
-8.3033 -15.3964i
0.8017 + 2.1116i
0.8017 - 2.1116i
-8.3033 +15.3964i
-4.5019 + 4.8898i
-5.9965 - 2.1842i

I also don't know how to find the first-order derivates at the grid points via FFT for part (b). What function do I use?

Thank you very much!

Regards,
Rayne

DrClaude
Mentor
Does it return the Fourier coefficients of f(x) in my program?
I returns the coefficient of the frequency components. However, note that the FFT assumes that the signal starts at 0. Here, it will be necessary to adjust the complex phase because the actual signal starts at ##-\pi##.
http://fourier.eng.hmc.edu/e101/lectures/handout3/node2.html
Note also that the order of the elements is that the positive frequencies components appears first, in increasing order of frequency, and then the negative frequencies components, again in increasing order of frequency (i.e., from highest absolute value of frequency up to 0).

I also don't know how to find the first-order derivates at the grid points via FFT for part (b). What function do I use?
The relevant transform pair is
$$\left( \frac{d}{dt} \right)^n f(t) \Leftrightarrow (i \omega)^n F(\omega)$$