L5maple.mws, Differenssiyhtälöitä
to 26.9.02 , ti -ke 1-2.10.02 Luennot 9-11
Lähteet
Lay CH 4.8, s. 277 - 285 (prujut)
Lay Ch 4.9 ss. 288 - 296. (ei prujuja)
Alustukset, funktiomääritykset.
Keräämme funktiomäärityksiä tiedostoon v302.mpl. Toistaiseksi sijoittelemme niitä työarkeille tarpeen mukaan.
Tekstitiedostoston voi lukea komennolla
> | # read("v302.mpl"): # Määrittelyt (ja muut komennot) suorittuvat. |
> | with(plots): |
Warning, the name changecoords has been redefined
> | jana:=(p1,p2)->plot([p1,p2],thickness=2,color=green): # Hyödyllinen funktio diskreeteissä visualisoinneissa. Jos haluat muuttaa väriä, paksuutta, tms., modifioi vain tätä. |
> | yjana:=(x,y)->jana([x,0],[x,y]); # Jana pisteestä (x,0) pisteeseen (x,y). |
Testataan:
> | f:=x->x^2-2*sqrt(x): |
> | h:=.5: display(seq(jana([i*h,0],[i*h,f(i*h)]),i=0..10)): # Kätevä. |
> | h:=.5: display(seq(yjana(i*h,f(i*h)),i=0..10)); # kätevämpi. |
> | f:=k->.7^k; |
> | h:=1: display(seq(yjana(i*h,f(i*h)),i=-3..8)); |
1. Johdattelua
- Diskreetti, eli digitaalinen data lisääntyvässä määrin
- Myös jatkuvia ilmiöitä lasketaan yleensä differenssiyhtälöillä, numeeriset menetelmät toimivat yleensä siten,
että esim. differentiaaliyhtälö diskretoidaan, jolloin varsinainen ratkaisu tapahtuu differenssiyhtälömaailmassa.
2. Diskreettiaikasignaalit
Diskreetti signaali on funktio, jonka määrittelyjoukko on Z . Ts. signaali on jonoavaruuden S alkio (vektori).
Diskreetti dignaali voi syntyä prosessista luonnostaan tai sillä kuvataan jatkuvaa prosessia ottamalla esim. tasavälisin aikavälein näytteitä.
Esim: 1 : CD-levyllä oleva digitaalinen data edustaa musiikin amplitudiarvoja, kun näytteitä on otettu 44 100 kertaa sekunnissa.
Yllä määritellyt funktiot, erityisesti yjana ovat käteviä diskreettien signaalien esittämiseen.
> | f:=t->sin(t)+2*sin(2*t)-0.5*cos(7*t): |
> | h:=0.5: display(seq(yjana(i*h,f(i*h)),i=0..20)); |
> | display(plot(f(t),t=0..20),seq(yjana(i*h,f(i*h)),i=0..40)); |
> |
3. Lineaarinen differenssiyhtälö
Lay s. 280
Exa 3. Lineaarinen suodin (filtteri)
> | restart: with(plots): |
Warning, the name changecoords has been redefined
> | jana:=(p1,p2)->plot([p1,p2],color=blue): yjana:=(x,y)->jana([x,0],[x,y]): |
> | F:=(y,k)->a0*y(k+2)+a1*y(k+1)+a2*y(k); |
> |
> | a0:=sqrt(2)/4; |
> | a1:=1/2: a2:=a0: |
> | F(y,k)=z(k); |
Tässä ajatellaan y(k) syötteeksi ja z(k) tulokseksi. (Differenssiyhtälöitä ratkaistaessa päinvastoin)
Valitaan ensin signaaliksi y(k) näytteitä kokonaislukuvälein funktiosta cos(Pi*t/4).
> | Y:=k->cos(Pi*k/4); |
> | seq(Y(k),k=0..10); |
> | seq(F(Y,k),k=0..10); |
> | display(plot(Y(t),t=0..20),seq(yjana(k,Y(k)),k=0..40)); |
> | display(plot(Y(t),t=0..20),seq(yjana(k,F(Y,k)),k=0..40)); |
Signaali (Y(k)) menee filtterin läpi sellaisenaan muuten, paitsi siirtyy askeleen taaksepäin..
Pidetään sama näytteidenottoväli, kasvatetaan alkup. signaalin taajuutta:
> | Y:=k->cos(3*Pi*k/4); |
> | seq(Y(k),k=0..10); |
> | seq(F(Y,k),k=0..10); |
Kolminkertainen taajuus suodattui pois (näytteenottoväli pysyi samana).
Alipäästösuodin .
> | display(plot(Y(t),t=0..10),seq(yjana(k,Y(k)),k=0..20)); |
> | display(plot(Y(t),t=0..10,axes=boxed),seq(yjana(k,F(Y,k)),k=0..20)); |
> |
Exa 4. Lineaarinen homogeeninen differenssiyhtälö
> | restart: |
> | differy:=y(k+3)-2*y(k+2)-5*y(k+1)+6*y(k)=0; |
Yrite:
> | Y:=k->r^k: |
> | subs(y=Y,differy); |
> | vdiffery:=value(%); |
> | vdiffery/r^k;simplify(%,symbolic); |
> | factor(%); |
Siis jonot u,v,w toteuttavat differy:n, kun
> | u:=k->1^k; v:=k->3^k; w:=k->(-2)^k; |
> | subs(y=u,differy); |
> | value(%); |
> | subs(y=v,differy); |
> | value(%); |
> | simplify(%,symbolic); |
> | subs(y=w,differy); value(%);simplify(%,symbolic); |
> |
Siis saatiin 3 ratkaisua u,v,w.
Ovatko LRT? Ovatko ratkaisuavaruuden kanta?
Kyllä, lauseen 16 mukaan!
Exa 5. Lineaarinen EHY
> | restart: HY:=y(k+2)-4*y(k+1)+3*y(k)=0; |
> | karpoly:=r^2-4*r+3: factor(%); |
HY:n yleinen:
> | yh:=k->c1+c2*3^k; |
> | EHY:=y(k+2)-4*y(k+1)+3*y(k)=-4*k; |
> |
Etsitään EHY:n erityistä. Luonnollinen lähtökohta on k:n polynomi, kun oikealla on sellainen (1. asteen).
a+bk - muodossa a on turha, koska pelkkä vakio toteuttaa HY:n.
> | yrite:=k->b*k: |
> | EHYyr:=subs(y=yrite,EHY); |
> | eval(EHYyr); |
> | map(collect,%,b); |
1. asteen polynomi ei siis toteuta. Yritetään 2. asteen (vakiotermi on edelleenkin turha).
> | yrite:=k->a*k^2+b*k: |
> | EHYyr:=subs(y=yrite,EHY); |
> | eval(%); |
> | expand(%); |
Nähdään, että b=0, a=1, joten olemme löytäneet EHY:n erikoisen
> | yp:=k->k^2; |
EHY:n yleinen ratkaisu on siis:
> | Y:=yh+yp; |
> | Y(k); |
> |
Yleisiä lauseita ja periaatteita
> | restart: |
(EHY): Epähomogeeniyhtälö, (HY) Homogeeniyhtälö (oikea puoli = 0).
Lineaarikuvaus T:S--> S,
> | T(({y[k]}))={y[k+n]+sum(a[j]*y[k+n-j],j=1..n)}[k]; |
> | H=N(T); # T:n nolla-avaruus (ydin) on (EHY):n ratkaisujoukko. |
Lause 16 Lineaarisella n:nnen kertaluvun differyllä (a[n] # 0)
> | y[k+n]+sum(a[j]*y[k+n-j],j=1..n)=z[k]; |
on jokaisella alkuarvojevektorin [
, ...,
] valinnalla yksikäsitteinen ratkaisu (
).
Tod: Rekursiokaavasta voidaan yksikäsitteisesti laskea sekä eteenpäin että taaksepäin (jos tarpeen) miten pitkälle tahansa.
(Tarkemmin luennolla tai kirjassa(prujussa).)
Lause 17
Lineaarisen n:nnen kl:n (HY):n ratkaisuavaruuden dimensio = n.
Tod
: H=N(T) on aliavaruus. Osoitetaan, että dim(H)=n. Sitä varten muodostetaan lineaarikuvaus F: H ->
, joka osoitetaan
isomorfismiksi. Isomorfismi säilyttää kaikki VA-ominaisuudet, erityisesti dimension.
No, määritellään "projektiokuvaus" F: (
) -->(
, ... ,
)
Osoitetaan, että F: H -->
on isomorfismi. ts. lineaarinen bijektio.
1) Lineaarisuus on hyvin selvä.
2) Surjektio & injektio: Olkoon (
, . . .,
) mielivaltainen
:n vektori. Lauseen 16 mukaan on olemassa 1-käs. ratkaisu (
),
jonka koordinaatit 0,...,n-1 ovat nämä annetut. Olemassaolo tarkoittaa F:n surjektiivisuutta, yksikäsitteisyys injektiivisyyttä.
No niin, kuten sanottu, dim H = dim
= n. [QED]
HY:n ratkaisumenetelmä: Etsitään n LRT ratkaisua.
Tämä on ratkaisuavaruuden kanta , joten kaikki ratkaisut ovat näiden lineaarikombinaatioia.
> |
Miten löydetään? Yrite
> |
johtaa karakteristiseen polynomiyhtälöön ("auxiliary equation"):
> |
EHY:n ratkaisumenetelmä: HY:n yleinen + EHY:n erikoinen
Lause. (EHY):n kaikki ratkaisut ovat muotoa
> |
missä y[h] on HY:n yleinen ratkaisu (siis lineaarikombinaatio n:stä kantaratkaisusta) ja y[p] on jokin EHY:n (vaikkapa hatusta tempaistu) "erityis"ratkaisu.
(p niinkuin "particular")
Tod: Perustuu pelkästään lineaarisuuteen. (Aivan sama lause pätee vaikkapa tavalliselle lineaariselle yhtälösysteemile.)
1) Olkoon H (EHY):n ratkaisuavaruus ja
> |
> |
Tämä = z, koska
ja
.
Siis mielivaltainen väitettyä muotoa oleva summa on EHY:n ratkaisu.
2) Olkoon nyt y mielivaltainen EHY:n ratkaisu.
Tällöin
> |
sillä
> |
koska
> |
ja molemmat viimemainitut ovat = z.
Siispä
> |
missä
on jokin HY:n ratkaisu.
Niinpä mielivaltaisesti annettu EHY:n ratkaisu y voitiin kirjoittaa vaaditussa muodossa.
Lineaarinen differyhtälösysteemi
Aivan samoin, kuten näemme differentiaaliyhtälöiden kohdalla, myös differenssiyhtälöiden teoria ja käytäntö kannattaa opetella
palauttamaan systeemien käsittelyyn. (Tämä on ns. "moderni" käsittelytapa.)
Lineaarisen homogeenisen systeemin yleinen muoto:
> |
missä A on nxn-matriisi (
on
:n vektori.)
Esim. 7. Muuntaminen systeemiksi.
> | ![]() |
Merkitään
> |
> |
y[k+3] lasketaan yhtälöstä:
> |
Siis
> | ![]() |
missä
> | A:=<<0,0,-6>|<1,0,5>|<0,1,2>>; |
Jos onnistumme ratkaisemaan tämän 1. kertaluvun systeemin, niin ratkaisuvektorin
1. koordinaatti antaa yhtälön ratkaisukoordinaatin
.