# Maple Three Coursework - Inner product, Fourier series

The following code is to define the `fourier()`

procedure, It takes as it's input; a function to apply the fourier process to, and a number.

My code declares the variables `k`

`a`

and `b`

as local to the procedure, then sets `g`

to a_{0}. While looping through `k`

, the procedure adds a_{k} and b_{k} to g (there is no special case for b_{0}).

fourier:= proc(f, n) local k, a, b; g:= (1/(2*Pi))*(int(f, x=-Pi..Pi)); for k from 1 to n do a:= ((1/Pi)*int(f*cos(k*x), x=-Pi..Pi))*cos(k*x); b:= ((1/Pi)*int(f*sin(k*x), x=-Pi..Pi))*sin(k*x); g:= g + a + b; od; eval(g); end:

I am really not sure why this works but the end result of this rather complicated equation, is that you start of with a function which displays a graph; the fourier series starts as either a sin or a cos wave then gradually fits itself to approximate your original function.

For more detailed explanations than mine, have a look at this site it even has an interactive applet to play with :)