# Fourier series in matlab

• MATLAB
hey guys, Ive gotta do some fourier series work using matlab, but I have no idea what to do.

Ive found the coefficients by hand, but now I need to use matlab to evaluate and tabulate the first 8 terms.

I then have to evaluate the series at 1000 points over a certain range.

Related MATLAB, Maple, Mathematica, LaTeX News on Phys.org
Discretize your function over the range to more than 4000 points (say) and store it in a vector.
Then use ifft(vector). You'll get the coefficients (if you want 1000, get the first 1000).

Suppose you have a cosine transform.

f=f0+2*f1*cos*(w*x)+2*f2*cos(2*w*x)+2*f3*cos(3*w*x)+...

ifft will give you these coefficients f0, f1, f2...

If you want to reconstruct the function by yourself in matlab, you'll have to code a for loop.

then a variable for from 2:(the number of components you want)
end;

I hope this is clear. You should do the same thing with the 8 modes you calculated by hand.

Thanks anaemic.

If I don't discretize my function, then, I have to find the coefficient by numerical integration.

where my f depends on n (the index of coefficient). And Matlab just says something like "dimension mismatch". Do you guys know how to deal with it?

I can actually do it like this:

for n=-N:N
fexp=@(x) (x+2).*exp(i*pi*n*x);