- #1
wu_weidong
- 32
- 0
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
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