fourier01.mw
Fourier Series Examples
Consider the function we discussed in class. The period is
| > |
f := x -> piecewise(x<0, 0, 1); |
| > |
plot(f(x), x=-Pi..Pi, y=-.5..1.5, color=black, axes=framed, discont=true); |
![[Plot]](fourier01images/fourier01_3.gif)
Warning, the name changecoords has been redefined
Here's the picture for 3 periods.
| > |
display([plot(f(x+2*Pi), x=-3*Pi..-Pi, discont=true), plot(f(x), x=-Pi..Pi, discont=true), plot(f(x-2*Pi), x=Pi..3*Pi, discont=true)], axes=framed, view=[-3*Pi..3*Pi, -.5..1.5]); |
![[Plot]](fourier01images/fourier01_4.gif)
Now let's compute the fourier coefficents
| > |
a[0] := (1/(2*Pi))*Int(f(x), x=-Pi..Pi); |
| > |
an:= (1/Pi)*Int(f(x)*cos(n*x), x=-Pi..Pi); |
But this is zero, since n is an integer.
| > |
bn:= (1/Pi)*Int(f(x)*sin(n*x), x=-Pi..Pi); |
Since n is an integer,
. To get the computer to see this, we have to tell it that n is an integer
This is 0 if n is even and
if n is odd. Hence the fourier seris is
| > |
1/2 + Sum(2/((2*k+1)*Pi)*sin((2*k+1)*x), k=0..infinity); |
| > |
partsum := m -> 1/2+add(2/((2*k+1)*Pi)*sin((2*k+1)*x), k=0..m); |
Now, lets compare the partial sums of the Fourier series to the function on the interval
.
| > |
plot({f(x), 1/2}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black); |
![[Plot]](fourier01images/fourier01_19.gif)
| > |
plot({f(x), partsum(0)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black);
|
![[Plot]](fourier01images/fourier01_20.gif)
| > |
plot({f(x), partsum(1)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black); |
![[Plot]](fourier01images/fourier01_21.gif)
| > |
plot({f(x), partsum(2)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black); |
![[Plot]](fourier01images/fourier01_22.gif)
| > |
plot({f(x), partsum(3)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black); |
![[Plot]](fourier01images/fourier01_23.gif)
| > |
plot({f(x), partsum(4)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black); |
![[Plot]](fourier01images/fourier01_24.gif)
| > |
plot({f(x), partsum(5)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black); |
![[Plot]](fourier01images/fourier01_25.gif)
| > |
plot({f(x), partsum(6)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black); |
![[Plot]](fourier01images/fourier01_26.gif)
| > |
plot({f(x), partsum(10)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black); |
![[Plot]](fourier01images/fourier01_27.gif)
| > |
plot({f(x), partsum(20)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black, numpoints=300); |
![[Plot]](fourier01images/fourier01_28.gif)
| > |
plot({f(x), partsum(50)}, x=-Pi..Pi, y=-.5..1.5, axes=framed, discont=true, color=black, numpoints=300); |
![[Plot]](fourier01images/fourier01_29.gif)
Let's do a few of these with a view of 3 periods.
| > |
display([plot(f(x+2*Pi), x=-3*Pi..-Pi, discont=true, color=black), plot(f(x), x=-Pi..Pi, discont=true, color=black), plot(f(x-2*Pi), x=Pi..3*Pi, discont=true, color=black), plot(1/2, x=-3*Pi..3*Pi, color=black)], axes=framed, view=[-3*Pi..3*Pi, -.5..1.5]);
|
![[Plot]](fourier01images/fourier01_30.gif)
| > |
display([plot(f(x+2*Pi), x=-3*Pi..-Pi, discont=true, color=black), plot(f(x), x=-Pi..Pi, discont=true, color=black), plot(f(x-2*Pi), x=Pi..3*Pi, discont=true, color=black), plot(partsum(0), x=-3*Pi..3*Pi, color=black)], axes=framed, view=[-3*Pi..3*Pi, -.5..1.5]);
|
![[Plot]](fourier01images/fourier01_31.gif)
| > |
display([plot(f(x+2*Pi), x=-3*Pi..-Pi, discont=true, color=black), plot(f(x), x=-Pi..Pi, discont=true, color=black), plot(f(x-2*Pi), x=Pi..3*Pi, discont=true, color=black), plot(partsum(1), x=-3*Pi..3*Pi, color=black)], axes=framed, view=[-3*Pi..3*Pi, -.5..1.5]);
|
![[Plot]](fourier01images/fourier01_32.gif)
| > |
display([plot(f(x+2*Pi), x=-3*Pi..-Pi, discont=true, color=black), plot(f(x), x=-Pi..Pi, discont=true, color=black), plot(f(x-2*Pi), x=Pi..3*Pi, discont=true, color=black), plot(partsum(2), x=-3*Pi..3*Pi, color=black)], axes=framed, view=[-3*Pi..3*Pi, -.5..1.5]);
|
![[Plot]](fourier01images/fourier01_33.gif)
| > |
display([plot(f(x+2*Pi), x=-3*Pi..-Pi, discont=true, color=black), plot(f(x), x=-Pi..Pi, discont=true, color=black), plot(f(x-2*Pi), x=Pi..3*Pi, discont=true, color=black), plot(partsum(3), x=-3*Pi..3*Pi, color=black)], axes=framed, view=[-3*Pi..3*Pi, -.5..1.5]);
|
![[Plot]](fourier01images/fourier01_34.gif)
| > |
display([plot(f(x+2*Pi), x=-3*Pi..-Pi, discont=true, color=black), plot(f(x), x=-Pi..Pi, discont=true, color=black), plot(f(x-2*Pi), x=Pi..3*Pi, discont=true, color=black), plot(partsum(10), x=-3*Pi..3*Pi, color=black)], axes=framed, view=[-3*Pi..3*Pi, -.5..1.5]); |
![[Plot]](fourier01images/fourier01_35.gif)