[Up]

Fourier-sarjat

Luennolla 13.11.



# Fourier-sarjat, Eulerin kaavat  (Maple V.3 tai V.4)
> assume(m,integer);
> assume(n,integer):

Symbolit m ja n käsitetään erisuuriksi, kun ne ovat eri symboleja.

Ortogonaalisuusrelaatiot:
==========================
> int(cos(m*Pi*x/l)*cos(n*Pi*x/l),x=-l..l);

                                  0
> int(cos(0*Pi*x/l)*cos(0*Pi*x/l),x=-l..l);

                                 2 l

> int(cos(m*Pi*x/l)*sin(n*Pi*x/l),x=-l..l);

                                  0

> int(sin(n*Pi*x/l)*sin(m*Pi*x/l),x=-l..l);

                                  0

> int(sin(n*Pi*x/l)*sin(n*Pi*x/l),x=-l..l);

                                  l


> f:='f':  # Varmistetaan, että f on "vapaa".

Eulerin Fourier-kerroinkaavat:
===============================
> a[0]:=(1/(2*l))*int(f(x),x=-l..l);

                                     l~
                                    /
                                   |
                                   |    f(x) dx
                                   |
                                  /
                                    -l~
                      a[0] := 1/2 -------------
                                       l~

> a[n]:=(1/l)*int(f(x)*cos(n*Pi*x/l),x=-l..l);

                              l
                             /
                            |            n~ Pi x
                            |   f(x) cos(-------) dx
                            |               l
                           /
                             -l
                  a[n~] := -------------------------
                                       l

> b[n]:=(1/l)*int(f(x)*sin(n*Pi*x/l),x=-l..l);

                              l
                             /
                            |            n~ Pi x
                            |   f(x) sin(-------) dx
                            |               l
                           /
                             -l
                  b[n~] := -------------------------
                                       l

Yllä käytettiin alaindeksoituja muuttujia a[0],a[n],b[n]. Nämä eivät
ole funktiomäärittelyjä, tästä siten ei seuraa, että Maple tietäisi jotain
vaikkapa a[1]:stä tai b[m]:stä.
(Madot tulevat assume-komentojen seurauksena, ne saa jollain komennolla pois)
---------------------------------------------------------------------------
# 
# Esim: Kanttiaalto: f(x)=0, kun -l < x < 0 ja f(x)=1, kun 0 < x < l
====================

> f:=x->c*Heaviside(x);

                       f := x -> c Heaviside(x)


> a[0];

                                1/2 c

> assume(l,positive):
> a[n];

                                  0

> b[n];

                              n~
                          (-1)   l~ c   l~ c
                        - ----------- + -----
                             n~ Pi      n~ Pi
                        ---------------------
                                 l~

> simplify(");

                                    n~
                             c ((-1)   - 1)
                           - --------------
                                 n~ Pi

> s:=a[0]+sum(simplify(b[n]*sin(n*Pi*x/l)),n=1..infinity);

                    /infinity /         n~          n~ Pi x \\
                    | -----   |  c ((-1)   - 1) sin(-------)||
                    |  \      |                       l~    ||
       s := 1/2 c + |   )     |- ---------------------------||
                    |  /      \             n~ Pi           /|
                    | -----                                  |
                    \ n~ = 1                                 /

> osasum:=seq(a[0]+sum(simplify(b[n]*sin(n*Pi*x/l)),n=1..N),N=1..8):
> osasum:=a[0],osasum:
> p1:= plot(subs(c=1,l=Pi,{osasum}),x=-Pi..Pi):
> p2:=plot(Heaviside(x),x=-Pi..Pi):
> with(plots):
> display({p1,p2});

[dirac1.gif]
This page created by <Heikki.Apiola@hut.fi>
Last update 12.11.96