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});