-
mplODE000
mplODE000.tex
Maple-ohjeita ja esimerkkejä
http://math.aalto.fi/teaching/k3/luentomateriaali/L17.html Suuntakentät, anal. ratk. dsolvella, 2. kertaluvun vakiokert., lineaarinen systeemi.
http://math.aalto.fi/teaching/k3/luentomateriaali/lindys1.html Diffyhtälösysteemin ratkaisu Maplella
http://math.aalto.fi/teaching/k3/luentomateriaali/lindys1.mws Sama Maple mws:nä (lataa Mapleen)
http://math.aalto.fi/teaching/k3/luentomateriaali/ Lisää saman kurssin luentolinkkejä (diffyhtälöihin ja muihin):
Latex-koodi:
../mplteht/mplODE/mplODE000.tex
-
mplODE0009
mplODE0009.tex
Putoavan kappaleen nopeus \(v=v(t)\) toteuttaa differentiaaliyhtälön \(mv'(t)=mg-kv(t)^2\), jos positiivinen suunta on alaspäin ja ilmanvastus on verrannollinen nopeuden neliöön kertoimella \(k>0\).
a) Ratkaise differentiaaliyhtälö alkuehdolla \(v(0)=0\).
b) Mikä on rajanopeus \(\lim_{t\to\infty}v(t)\)?
Vihje: Ohjelma ei osaa laskea raja-arvoa, koska se ei tiedä vakioiden etumerkkiä. Lisää käsky assume(m>0 and k>0 and g>0) ja kokeile uudelleen sen jälkeen.
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE0009.tex
Ratkaisu:
pdf-muodossa
Maple worksheet,mw-tiedosto
Avainsanat:MatlabDy, diffyhtälöt, diffyhtalot, mplDifferentiaali(yhtälöt),... add more ...
-
mplODE001
mplODE001.tex
Ratkaise yhtälö
\[\frac{dy}{dt} = ty\].
Muodosta yleinen ratkaisu.
Määritä vakio _C1
alkuehdolle \(y(0)=1.\)
Ratkaise alkuarvotehtävä suoraan dsolve
:lla.
Vihje: Maplen funktio dsolve
.
b)-kohdassa voit ottaa ratkaisulausekkeen rhs
(Righthand side) kiinni. Tarvitset lisäksi komentoja subs
ja solve
c) ?dsolve
, [HAM] ss. 162-165
Vaativuus: 1+
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE001.tex
Ratkaisu:
../mplteht/mplODE/ratkaisut/mplODE001R.mpltxt Maple-teksti
Avainsanat: diffyhtälöt, diffyhtalot, mplODE,dsolve
Maplefunktioita: solve, subs, dsolve
-
mplODE002
mplODE002.tex (infoverkostot (iv) s. 2001)
Ratkaise differentiaaliyhtälö sijoittamalla ratkaisuehdotus (REh) annettuun yhtälöön tai esim. integroimalla, arvaamalla tms.:
(a) \(y'+y=x^2-2\), REh: \(y=Ce^{-x}+x^2-2x\)
(b) \(y''+y=0\), REh: \(y=a\cos x + b\sin x\)
(c) \(y'''=e^x\),
(d) \(x+yy'=0\), REh: \(x^2+y^2=C\) (\(C > 0\), vakio).
Vihje:
(d)-kohta: Derivoi implisiittisesti, ts. oleta, että on olemassa derivoituva funktio \(x\mapsto y(x)\) s.e. \(x^2+y(x)=C\) ja derivoi puolittain. (Tässä tapauksessa olemassaolo tiedetään, onhan \(y(x)=\sqrt{C-x^2}\) tällainen. Tämän eksplisiittisen lausekkeen käyttö ei silti kannata, se vain mutkistaa asioita, olkaamme siis implisiittisiä.)
Vaativuus: 1+
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE002.tex
Ratkaisu:
pdf-muodossa
Maple worksheet,mw-tiedosto
Avainsanat:MatlabDy, diffyhtälöt, diffyhtalot, mplDifferentiaali(yhtälöt),ratkaisu sijoittamalla yhtaloon, sijoittamalla yhtälöön, implisiittinen derivointi
-
mplODE0021
mplODE0021.tex
Vrt. ... mlODE0021 ja mlODE0022
Totea Maple:n avulla suoraan yhtälöön sijoittamalla , että \[y(t)=c e^{-5t}\]
toteuttaa differentiaaliyhtälön \(y'=-5y\).
Määritä myös diffyhtälön yleinen ratkaisu sekä alkuhdon \(y(0)=c\) toteuttava ratkaisu dsolve-komennolla (kts. vihje)
Piirrä ratkaisukäyräparvi, kun vakio c saa 21 arvoa tasavälisesti välillä [0,4]. (Tai suunnilleen tuonverran)
Piirrä paksummalla viivalla alkuehdon \(y(0)=1\) toteuttava kuvaaja ja merkitse alkupiste rinkulalla.
Vihje:
Huom:Maplen syntaksi muistuttaa läheisesti muPad:ia (Matlabin Symbolic Toolbox). Grafiikoiden yhdistämiseen on Maplessa monipuolisemmat välineet.
Komentoja: subs,diff,dsolve,plot,with(plots),display
Differentiaaliyhtälön määrittely:
diffyht:=diff(y(t),t) =-5*y(t)
# tai:
diffyht2:=y'(t)=-5*y(t)
Näiden käsittely eroaa, edellinen on lauseketyylinen, jälkimmäinen funktiotyylinen, kuten tulostusmuodosta näkyy.
Normaal subs-toimii edellisessä, mutta ei jälkimmäisessä.
Käytä siis alkuosassa edellistä.
Grafiikkojen yhdistäminen yleisesti Maplella hoituu display-komennolla (edellyttää with(plots)
-komentoa):
display(kuva1,kuva2,kuva3)
Vaativuus: 1+
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE0021.tex
Ratkaisu:
../mplteht/mplODE/ratkaisut/mplODE0021R.mpltxt (Maple-komennot tekstinä)
Avainsanat:MapleDy, diffyhtälöt, diffyhtalot, mplODE Maplediffyhtälöt,ratkaisukayraparvi, grafiikoiden yhdistäminen, dsolve, display
-
mplODE003
mplODE003.tex [Matlab-versio: ...mlODE002.tex] (iv3/2001, harj. 1, teht. 2)
Millä xy-tason käyrillä on ominaisuus: Käyrän tangentin kulmakerroin jokaisessa pisteessä \((x,y)\) on \(-\frac{4 x}{y}\) ?
Ratkaise yhtälö muuttujien erottelulla (“separation of variables”). Piirrä suuntakenttä isokliineja apuna käyttäen käsin vaikkapa alueessa \([-2,2] \times [-2,2]\).
Ota sitten Maple avuksi. Kokeile ja selitä!
Kts. [HAM] ss. 169-170
> with(DEtools)
> with(plots)
Suuntakenttään:DEplot,
grafiikkojen yhdistämiseen: display.
Suoraparven saat tyyliin
> yparvi:=seq(...,c=[-2,-1,-.5,.5,2,1]) # tms.
> isokl:=plot([yparvi],x=...)
Yleisemmin isokliinit saadaan piirretyksi implicitplot-funktiolla, mutta tässä saatiin ratkaistussa muodossa suoraan.
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE003.tex
Ratkaisu:
../mplteht/mplODE/ratkaisut/mplODE003R.pdf
../mplteht/mplODE/ratkaisut/mplODE003R.mw
Avainsanat:MapleDy, diffyhtälöt, suuntakenttä, isokliinit, mplDifferentiaali(yhtälöt)
Maplefunktioita: dsolve,DEplot,display,with(plots),with(DEtools)
Viitteet: [HAM]
Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998
-
mplODE004
mplODE004.tex [Matlab-versio: ...mlODE004.tex] (iv3/2001, harj. 1, LV teht. 1-2)
Laskuvarjohyppääjän yhtälö. Oletetaan, että hyppääjän + varustuksen massa = \(m\) ja ilmanvastus on verrannollinen nopeuden neliöön, olkoon verrannollisuskerroin \(=b\). Tällöin Newtonin 2. laki antaa liikeyhtälön:
\[mv'=mg - b v^2 .\]
Olkoon yksinkertaisuuden vuoksi \(m=1, b=1\) ja \(g=9.81 m/s^2\).
Piirrä suuntakenttä.
Oletetaan, että laskuvarjo aukeaa, kun \(v=10 m/s\), valitaan tämä alkuhetkeksi \(t=0\). Piirrä tämä ratkaisukäyrä suuntakenttäpiirrokseen. Yritä nähdä suuntakentästä, että kaikki ratkaisut näyttävät lähestyvän rajanopeutta \(v\approx 3.13\) ja että ratkaisut ovat joko kasvavia tai pieneneviä (ja millä alkuarvoilla mitäkin, ja mitä tarkoittaa fysikaalisesti)
Määritä rajanopeus suoraan yhtälöstä.
Maplessa DEtools-kirjaston DEplot-funktiota.
(Matlab-piirroksiin dfield8, kts. mlODE004 )
Kts. [HAM] ss. 169-170 tai ?DEplot
> with(DEtools)
> with(plots)
Suuntakenttään:DEplot,
grafiikkojen yhdistämiseen: display.
(Matlab: dfield-ohje:
Hae m-tiedosto dfield8 sivulta http://math.rice.edu/\(\sim\)dfield/ ja sijoita se Matlab-polkusi varrelle.
Kirjoita Matlab-istuntoon : dfield8
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE004.tex
Ratkaisu: ** PUUTTUU, etsi/tee **
../mplteht/mplODE/ratkaisut/mplODE004R.pdf
../mplteht/mplODE/ratkaisut/mplODE004R.mw
Viitteet: [HAM]
Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998
Avainsanat: mplODE,Maplediffyht,differentiaaliyhtaloita Maplella
Maplefunktioita: dsolve, with(DEtools), DEplot, with(plots), display
-
mplODE005
mplODE005.tex (iv3/2001, harj. 1, LV teht. 2)
Muodosta edellä olevan laskuvarjotehtävän (mplODE004) analyyttinen ratkaisu muuttujien erottelulla. Määritä edellä mainittu (v(0)=10)-ratkaisukäyrä. Tarkista ratkaisu Maplella ja kokeile lopuksi Maplen dsolve- komentoa. (Ohje [HAM]-kirjassa.)
Ohje analyyttiseen: Muistathan, että osamurtohajoitelma on hyödyllinen rationaalilausekkeen integroinnissa (Maple: convert(lauseke,parfrac,muuttuja); mutta osattava myös käsin).
Viitteet: [HAM]
Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998
Vaativuus: 2-
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE005.tex
Ratkaisu: *** PUUTTUU, etsi/tee !! ***
Avainsanat: mplODE,Maplediffyht,differentiaaliyhtaloita Maplella,MapleODE, Maplediffyhtälöt, muuttujien erottelu, mplDifferentiaaliyhtälöt
Maplefunktioita: dsolve, convert(lauseke,parfrac)
-
mplODE006
mplODE006.tex (iv3/2001, harj. 1, LV teht. 3)
Vaihdamme tässä LAODE-tyyliseen notaatioon: \(t\) on riippumaton muuttuja, \(x\) on “riippuva” muuttuja. Kannattaa totutella eri tyyleihin.
Ratkaise alkuarvotehtävä \(x'=\frac{x}{2}-e^{-t}\), \(x(0)=-1\). Kyseessä on lineaarinen epähomogeeninen (EHY). Tämä lasku ei edellytä mitään uutta muuttujien erottelun lisäksi (ainoastaan uskomista), kaikki on tässä neuvottu.
Vihje:
Suorita ratkaisu näin:
Ratkaise ensin vastaava (HY) \(x'=\frac{x}{2}\) (yleinen ratkaisu).
Yritä keksiä jokin (EHY):n erityisratkaisu (siis mikä tahansa (EHY):n toteuttava). Keksiminen on helppoa, kun mietit exp-funktion derivointia. (Määräämätön kerroin ratkaistaan sijoittamalla yrite (EHY):yyn).
Lineaaristen teoria sanoo, että (EHY):n yleinen = (HY):n yleinen + (EHY):n erikoinen.
Piirrä myös suuntakenttä ja ratkaisukäyriä (Maple: DEtools[DEplot], Matlab: dfield8 tai suuntak1).
Miten näet suuntakentästä, että yhtälö ei ole autonominen?
Viitteet: [LAODE]
Golubitzky-Dellnitz: Linear Algebra and Differential Equations using Matlab, Brooks/Cole 1999.
Vaativuus: 2-
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE006.tex
Ratkaisu: ** ETSI/TEE **
Avainsanat: mplODE,Maplediffyht,differentiaaliyhtaloita Maplella
Maplefunktioita: dsolve, DEtools[Deplot]
-
mplODE007
mplODE007.tex (iv3/2001, harj. 2, AV teht. 1)
Ratkaise (AA)-tehtävä \(y' - 2 x y = 1,\ \ y(0)=-0.5\)
Tässä näyttää siltä, että (EHY):n erikoinen olisi helppo löytää, mutta huomaat pian, että luonnolliset yritteet eivät toimi. (Kyseessähän on lineaarinen, mutta ei-vakiokertoiminen yhtälö.)
Ratkaise vaan sitten kiltisti integroivan tekijän menettelyllä.
Integrointi johtaa erf-funktioon, Maple antaa sen suoraan, voit myös konsultoida KRE-kirjaa hakusanalla erf. Lausu siis ratkaisu erf:n avulla.
Piirrä suuntakenttäpiirros Maplen DEtools-pakkauksen DEplot-funktion avulla (kts [HAM] s. 169), voit toki käyttää myös Matlab:n dfield8-funktiota (ohje alla).
Valitse alkuarvoja \(y_0\) väliltä \((-1,-0.5)\) yrittäen löytää kriittistä arvoa \(y_0\), joka jakaa ratrkaisukäyrät plus tai miinus ääretöntä lähestyviin. (Tuo kriittinen ratkaisukäyrä on rajoitettu.) Käytä hyväksesi erf-funktion ominaisuutta \(\lim_{x\to \infty} erf(x) = 1\) laskeaksesi tarkan arvon \(y_0\):lle.
(Matlab: dfield-ohje:
Hae m-tiedosto dfield8 sivulta http://math.rice.edu/\(\sim\)dfield/ ja sijoita se Matlab-polkusi varrelle. Kirjoita Matlab-istuntoon : dfield8
)
Viitteet: [KRE]
E. Kreyszig: Advanced Engineering Mathematics, Wiley
[HAM]
Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE007.tex
Ratkaisu: ** ETSI/TEE **
Avainsanat: MapleDy, mplODE,Maplediffyhtälöt,erf, mplDifferentiaaliyhtälöt, integroiva tekija/tekijä
Maplefunktioita: dsolve,erf,DEtools[DEplot]
-
mplODE008
mplODE008.tex (iv3/2001, harj. 2, AV teht. 2)
Tarkastellaan (AA)-tehtävää \(xy'=4y,\ \ y(0)=1\).
(a) Osoita, että tehtävällä ei ole ratkaisua. Osoita, että tämä ei ole ristiriidassa \(\exists_1\)-lauseen kanssa. (Huom: Lauseen avulla ei voi todistaa epäeksistenssiä, koska lauseen ehdot eivä ole välttämättömät.)
(b) Vaihdetaan alkuehdoksi: \(y(0)=0\). Miten nyt on ratkaisujen laita.
(c) Mitä voit sanoa alkuehdon \(y(x_0)=y_0\) tapauksessa, jos \(x_0 \neq 0\),
(A) suoraan ratkaisukaavan avulla, (B) \(\exists_1\)-lauseen avulla.
Tämä on puhtaasti “perinteinen” tehtävä, mutta havainnollistus Maple/Matlab-välineillä on hyvinkin paikallaan.
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE008.tex
Ratkaisu: ** Ei ole **
Avainsanat: diffyhtälöt, ratkaisun (epä)olemassaolo, eksistenssilause, mplDifferentiaaliyhtälöt
-
mplODE009
mplODE009.tex (iv3/2001, harj. 2, AV teht. 3)
Muodosta Picardin iteraatiojonon muutama termi (AA)-tehtäville
(a) \(y' = x+y,\ \ y(0)=0 \) (b) \(y' = x+y, \ \ y(0)=-1\)
(c) \(y'=y^2,\ \ y(0)=1\).
Määritä myös tarkka ratkaisu.
LV-tehtävässä palataan asiaan Maple-hommana. Tämä on tyypillistä symbolilaskennan vahvuusaluetta.
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE009.tex
Ratkaisu: ** EI vielä, etsi/tee **
Aputiedostoja,viitteitä
../mplteht/mplODE/apusrc/PicardF.pdf Apu- ja esimerkkityöarkki oppilaille (pdf)
../mplteht/mplODE/apusrc/PicardF.mw Sama Maplen mw-tiedostona:
Avainsanat: diffyhtälöt, ratkaisun (epä)olemassaolo, Picard-Lindelöf-menetelmä, Picardin iteraatio, mplODE
-
mplODE010
mplODE010.tex (iv3/2001, harj. 2, LV teht. 1)
Muodosta Picardin iteraatiojonoa pitemmälle kuin AV-tehtävässä samoille (AA)-tehtäville (a), (b), (c) ja lisäksi vielä (d): lle.
(a) \(y' = x+y,\ \ y(0)=0 \) (b) \(y' = x+y, \ \ y(0)=-1\)
(c) \(y'=y^2,\ \ y(0)=1\). (d) \(y'=3\frac{y}{x}\)
Laske myös tarkka ratkaisu Maplella ja piirrä se ja iteraatiojonon funktioita. (Jos tuntuu liian pitkältä, niin jätä yksi pois, hyvä olis saada kaikki yhteisesti katetuksi (vaikka parityöskentelyssä sopimalla).
*** Prosessoi nämä ***
Malli: Aputiedostossa mplODE010apu.zip on L4Picard.mw,L4Picard.pdf,L4exa2.mw, L4exa2.pdf, kts. myös [HAM] ss. 162–165 (dsolve)ja s. 126 Picard–Lindelöf
Avainsanat: diffyhtälöt, Picard-Lindelöf-menetelmä, Picardin iteraatio, mplODE(yhtälöt)
Viitteet: [HAM]
Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE010.tex
Aputiedostoja,viitteitä
../mplteht/mplODE/apusrc/PicardF.pdf Apu- ja esimerkkityöarkki oppilaille (pdf)
../mplteht/mplODE/apusrc/PicardF.mw Sama Maplen mw-tiedostona:
Avainsanat: diffyhtälöt, ratkaisun (epä)olemassaolo, Picard-Lindelöf-menetelmä, Picardin iteraatio, mplODE
-
mplODE011
mplODE011.tex
Sovella Picardin iteraatiota (tuttuakin tutumpaan) (AA)-tehtävään
\(y'=y,\ \ y(0)=1\). Osoita, että iteraatiojono lähestyy ratkaisufunktiota \(y(x)=e^x\) .
(Olkoon vaihteeksi \(x(t)\) .)
Olkoon alkuarvotehtävänä edelleen \(x'=x,\ \ x(0)=1\). Osoita, että jos lasketaan likiarvo \(x_n=x_h(t_n)\) EM:llä pisteessä \(t=t_n\) käyttäen askelpituutta \(h\), niin \(x_h(t_n)=c(h)^{t_n}\), missä \(c(h)=(1+h)^{1/h}\).
Osoita tämän nojalla, että kiinteällä \(t=t_n\) pätee \(\lim_{h\to 0}x_h(t)=e^t\).
Tehtävässä tuskin tarvitaan ohjelmistoja.
EM = Eulerin menetelmä
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE011.tex
Avainsanat: Maplediffyhtälöt, diffyhtalot, mplODE,Picard-Lindelöf, Eulerin menetelmä
-
mplODE012
mplODE012.tex
Seuraava toistokäsky soveltaa Eulerin menetelmää alkuarvotehtävän \(y'=\sin(xy)\), \(y(0)=1\) ratkaisun likiarvon \(y(1)\) laskemiseen. Kokeile käskyjä askelpituuksilla \(h=0.25, h=0.1, h=0.01\) ja \(h= 10^{-4}\). Mikä menee pieleen viimeisessä kohdassa?
f:=(x,y)-> sin(x*y);
Digits:= 4;
n:= 4;
h:=1/n;
y[0] := 1;
for k from 0 to n-1 do # (paina tässä kohti Shift+Enter)
y[k+1]:= evalf(y[k]+h*f(k*h,y[k])) # (samoin)
end do;
Piirrä Eulerin murtoviivat eri väreillä samaan koordinaatistoon.
Vihje
Datan piirto sujuu nykyisin “Matlab-tyylisesti”:
> xlista:=[seq(j*h,j=0..n)];
> ylista:=[seq(y[j],j=0..n)]
> plot(xlista,ylista)
[HAM]-viitteessä ss. 94-96 esitetyt tavat pisteparien listana toimivat myös, mutta s. 96 zip-temppu ei ole enää tarpeen.
Viitteet: [HAM]
Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.
Vaativuus: 1
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE012.tex
Avainsanat: diffyhtälöt, diffyhtalot, mplODE, Eulerin menetelmä, diffyhtölöiden numeriikkaa(ensi askel)
-
mplODE013
mplODE013.tex
Ratkaise alkuarvotehtävä \[y''+3y'+3y = 1-e^{-x}, y(0)=2,y'(0)=0,\] ja piirrä ratkaisun kuvaaja välillä \(0\leq x \leq 10\).
Vihje
Diffyhtälön saat ratkaistuksi komennolla dsolve
. Yhtälössä esiintyvät derivaatat voit ilmoittaa komennolla diff
, ja derivaatan pisteessa 0 voit ilmaista derivaattaoperaattorilla D(y)(0)
.
Vaativuus: 1+
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE013.tex
Avainsanat: Maplediffyhtälöt, Maplediffyhtalot, mplODE, dsolve
-
mplODE014
mplODE014.tex Maple,(Matlab)
Ratkaise alkuarvotehtävä \[y' -y = \cos x,\ \ y(0)=1\]
analyyttisesti Maplella ja numeerisesti Maplella (tai Matlabilla). Piirrä ratkaisukäyrä.
Anna alkuarvoksi symboli \(c\) ja piirrä ratkaisukäyräparvi sopivalla välillä, kun \(c=-0.9,-0.8,\ldots ,0.\)
Miltä parvi näyttää suurilla \(x:\)n arvoilla. Tässä pitäisi erottua kolmenlaista käytöstä.
Maple: dsolve, Matlab: ode45
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE014.tex
Ratkaisu:
../mplteht/mplODE/ratkaisut/mplODE014R.pdf (pdf-muodossa)
../mplteht/mplODE/ratkaisut/mplODE014R.mw (Maple worksheet,mw-tiedosto)
Avainsanat: MapleDifferentiaaliyhtälö, mplODE, alkuarvotehtävä, analyyttinen ratkaisu, numeerinen ratkaisu.
Viitteet:
Coombes et al: Differential equations with Maple, Wiley
Boyce - DiPrima’s: Elementary Differential Equations and Boundary Value Problems,Wiley
-
mplODE015
mplODE015.tex Maple,Matlab
Tarkastellaan (AA)-tehtävää \[y'=\frac{3t^2}{(3y^2-4)},\ \ y(1)=0 .\]
(a) Laske EM:llä ratkaisuapproksimaatiot pisteissä \(t=1.2,1.4,1.6,1.8\) käyttäen askelta \(h=0.1\) .
(b) Tee sama askeleella \(h=0.05\) .
(c) Vertaa tuloksia.
(d) Piirrä suuntakenttä ja ratkaisuapproksimaatioita, sekä EM-ratkaisuja. Osaatko selittää, miksi EM toimii kohtuullisesti alussa, mutta kelvottomasti lopussa?
Eulerin menetelmää voi tässä käyttää ohjelman Maple laskintyylillä, kuten edellä tai sitten oikeaksi funktioksi koodatulla versiolla, annetaan tässä nuo koodit.
Eulerin menetelmän koodit (sisältyvät myös apupakettiin *apu.zip):
*** unzippaa apu ja laita kaikki 1 klikin taakse ***
Maple: [HAM s. 206] (copy/paste \(\rightarrow\) Maple-istuntoon)
Euler:=proc(f,a,b,ya,m)
local n,h,t,y;
h:=evalf((b-a)/m);
t[0]:=a;y[0]:=ya;
for n from 0 to m do
y[n+1]:=y[n]+h*f(t[n],y[n]);
t[n+1]:=t[n]+h;
end do;
seq([t[n],y[n]],n=0..m);
end:
Esim: \(y'=t-y^2\)
f:=(t,y)->t-y^2;
e3:=Euler(f,0,5,1,3);
plot([e3]);
Matlab: (Kts. vastaava Matlab-teht.)
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE015.tex
Avainsanat:, Maplediffyhtälöt, differentiaaliyhtalot, mplODE,ODEnumeeriset menetelmät, Eulerin menetelmä
Viitteet:
[KRE]
E. Kreyszig: Advanced Engineering Mathematics, Wiley
[HAM]
Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.
-
mplODE016
mplODE016.tex (vrt. Matlab: mlODE007.tex)
Tarkastellaan (AA)-tehtävää \[y'={\frac{2\sqrt{y-\ln t} }{t}}+{\frac{1}{t}},\ \ y(1)=0\] välillä \(t \in [1,1.8]\) Ratkaise tehtävä
Eulerin menetelmällä askelpituudella \(h=0.1\)
Heunin menetelmällä askelpituudella \(h=0.2\)
RK4- menetelmällä askelpituudella \(h=0.4\).
Määritä tarkka ratkaisu Maple:n dsolve-komennolla ja laske sen avulla virheet, piirrä ja taulukoi kussakin tapauksessa.
Huomaa, että näillä askelpituuksien valinnoilla funktion arvojen laskentamäärät ovat samat.
Eulerin menetelmän koodit (sisältyvät myös apupakettiin *** Etsi/pura/tee *** mplODE016apu.zip):
Maple: [HAM s. 206] (copy/paste \(\rightarrow\) Maple-istuntoon)
Euler:=proc(f,a,b,ya,m)
local n,h,t,y;
h:=evalf((b-a)/m);
t[0]:=a;y[0]:=ya;
for n from 0 to m do
y[n+1]:=y[n]+h*f(t[n],y[n]);
t[n+1]:=t[n]+h;
end do;
seq([t[n],y[n]],n=0..m);
end:
Esim: \(y'=t-y^2\)
f:=(t,y)->t-y^2;
e3:=Euler(f,0,5,1,3);
plot([e3]);
*** Laitetaan myös Heun ja RK4 ***
Matlab: (Kts. vastaava Matlab-teht.)
Huom: Tästä voi kehitellä monenlaisia tehtävävariaatioita, myös ilman numeeristen menetelmien korostusta.
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE016.tex
Avainsanat:diffyhtälöt, diffyhtalot, mplODE, mpldifferentiaaliyhtälöt,differentiaaliyhtälön numeriikka, numeeriset menetelmät, Eulerin menetelmä, Heunin menetelmä, Runge-Kutta, RK4
Viitteet:
[KRE]
E. Kreyszig: Advanced Engineering Mathematics, Wiley
[HAM]
Heikki Apiola: Symbolista ja numeerista matematiikkaa Maple-ohjelmalla, Otatieto 588, 1998.
-
mplODE017
mplODE017.tex, mlODE007.tex
Käyrän sovituksen yhteydessä huomasimme, että eksponentiaalinen kasvumalli, ns. Malthus’n laki \(y'=k y\) ei toimi USA:n väestödataan pitkällä aikavälillä. Mallia voidaan tarkentaa lisäämällä sopiva kasvua rajoittava termi, tällöin johdutaan ns. logistiseen kasvulakiin:
\(y'=a y - b y^2\)
USA:n väestödataan liityen Verhulst arvioi v. \(1845\) arvot \(a=0.03\) ja \(b=1.6 10^{-4}\), kun \(t\) mitataan vuosissa ja väkiluku \(y(t)\) miljoonissa.
Opettajalle: Tehtävä voidaan käsitellä ehkä luontevamminkin kokonaan erillisenä numeeristen diffyhtälöratkaisujen opetuksesta. Tällöin otetaan vain alla olevat kohdat (c) ja/tai (d).
(a) Ratkaise tehtävä (\(y(0)=5.3\)) Eulerin menetelmällä käyttämällä askelpituussa \(h=10\)
(b) rk4:llä käyttäen n. nelinkertaista askelta (voit kokeilla pienempiäkin)
(c) Matlabin ode45:llä.
(d) Laske analyyttinen ratkaisu Maplella. (Kyseessähän on Bernoullin yhtälö.)
Piirrä kuvia ja laske kaikissa tapauksessa ratkaisujen arvot annetuissa taulukkopisteissä. (ode45-tapauksessa onnistuu ainakin sovittamalla dataan splini funktiolla spline, joka on maailman helppokäyttöisin.)
kts. http://www.math.hut.fi/teaching/v/matlab/opas.html#splinit
(Nykyään (2012) ei tarvita erillistä splinisovitusta, laskentapisteet voidaan antaa suoraan ode45-funktiolle syötteenä.)
function [T,Y]=eulerS(f,Tspan,ya,n)
% Tämä vain kehittely- ja opettelutarkoituksessa.
% Funktio eulerV hoitaa niin skalaari- kuin vektoriversion.
% (24.2.04, modifioitu 21.8.2010)
% Esim: y'=t+y, y(0)=1
% f=@(t,y)t+y
% [T,Y]=eulerS(f,[0 4],1,6), plot(T,Y,T,Y,'.r');shg
a=Tspan(1);b=Tspan(2);
h=(b-a)/n;
Y=zeros(n+1,1);T=(a:h:b)'; %Pystyvektorit yhdenmukaisesti ode45:n
Y(1)=ya; % kanssa
for j=1:n
Y(j+1)=Y(j)+h*f(T(j),Y(j));
end;
Vaativuus: 2+
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE017.tex
Ratkaisu: *** Hukassa, etsi/tee ***
Viitteitä:
http://math.aalto.fi/opetus/kp3-ii/06/L/L14dynumkalvot.pdf
http://www.math.hut.fi/ apiola/matlab/opas/lyhyt/esim/eulerS.m
(Listaus yllä)
Avainsanat: mplODE,Maplediffyht,differentiaaliyhtaloita Maplella, logistinen kasvu, numeeriset menetelmät, Eulerin menetelmä, Heunin menetelmä, Runge Kutta
Maplefunktioita: dsolve
-
mplODE018
mplODE018.tex, mlODE008.tex
Tarkastellaan yhtälöä \(y'=-2\alpha(t-1)y\). Ratkaise aluksi analyyttisesti (Osannet ilmankin, mutta harjoittele myös Maplella.)
Totea kuvasta ja derivaattaehdosta yhtälön stabiilisuus/epästabiilisuusalueet. Ota kuvassa ja aina tarvittaessa vaikkapa \(\alpha =5\).
Ratkaise yhtälö sekä Eulerilla että BE:llä (“Bacward Euler”). Sopivia arvoja voisivat olla vaikkapa \(h=0.2\), väli: \([1,4.5]\), \(y(1)=1\).
Vertaa kokeellisesti stabiilisuukäyttäytymistä teorian ennustamaan ja pane merkille, miten epästabiilisuus käytännössä ilmenee.
Tämä tehtävä soveltuu erityisen hyvin Maplella tehtäväksi, se on pitkälle ideoitu [HAM] sivulla 124, myös Euler ja BE ovat valmiina. (Koodit saa kurssin maple-hakemistosta.) ** Tulee aputiedostoon **
*** apu puuttuu ***
Viitteitä:
http://math.aalto.fi/opetus/kp3-ii/06/L/L14dynumkalvot.pdf
http://www.math.hut.fi/ apiola/matlab/opas/lyhyt/esim/eulerS.m (Listaus yllä)
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE018.tex
Ratkaisu: *** ETSI/TEE***
Avainsanat: mplODE,Maplediffyht,differentiaaliyhtaloita Maplella, bacward Euler, stabiilisuus, implisiittinen Eulerin menetelmä, diffyhtälönumeriikkaa
Maplefunktioita: dsolve
Avainsanat:MatlabDy, diffyhtälöt, diffyhtalot, mplDifferentiaali(yhtälöt),... add more ...
-
mplODE019
mplODE019.tex [mplBas017.tex]
Opiskelija ottaa lainaa \(10 000\) euroa hetkellä \(k=0\) ja ryhtyy maksamaan sitä takaisin kuukauden päästä hetkellä \(k=1\). Kuukausikorko on \(1\)% (huh!) ja takaisinmaksu tapahtuu kiintein maksuerin \(450\) EUR/kk Olkoon \(y_k\) \(k\):n kuukauden kuluttua jäljellä olevan velan määrä. Kirjoita differenssiyhtälö \(y_k\):lle.
Muodosta taulukko ja graafinen esitys, jossa on pisteet \((k, y_k)\), ja selvitä sen perusteella, miten kauan velan maksu kestää ja miten paljon rahaa opiskelijaparka käyttää koko projektiin.
Vaativuus: 1
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE019.tex
Ratkaisu:
../mplteht/mplODE/ratkaisut/mplODE019R.pdf
../mplteht/mplODE/ratkaisut/mplODE019R.mw
Avainsanat: mplODE,Mapledifferenssiyhtälöt,Mapleperusteet,mplBasic
Luokittelu: Differenssi- ja differentiaaliyhtalot, Maple-perusteet.
-
mplODE105
Ratkaise differentiaaliyhtälöryhmä \[\begin{cases}
\frac{dx}{dt} = -\sigma x+ \rho y \\
\frac{dy}{dt} = \sigma x -y-xz \\
\frac{dz}{dt} = -\beta z + xy \\
\end{cases}\] numeerisesti välillä \([0,20]\), kun \(\sigma = 10, \rho = 28 \text{ ja } \beta = 8/3\). Piirrä ratkaisukäyrät samaan kuvaan, ja piirrä käyrät \(x(t)\) ja \(z(t)\) parametrisesti. Tämän jälkeen piirrä 3-ulotteinen parametrisoitu käyrä kaikista koordinaateista.
Onko ratkaisu rajoitettu? Suppeneeko se kohti jotain arvoa?
Kokeile muuttaa alkuarvoja, sekä parametrien arvoja. Vallitsevan teorian mukaan systeemi on kaoottinen dynaaminen systeemi, jonka käyttäytyminen voi muuttua merkitsevästi jo pienistä muutoksista lähtötilanteessa; itse asiassa termi perhosvaikutus keksittiin kuvaamaan juuri tämän systeemin käytöstä.
Kolmiulotteinen parametrisoitu käyrä (tai pistejoukko) piirretään MATLABissa funktiolla plot3
.
Vaativuus: 1-3+
Tehtävän Latex-koodi:
../mplteht/mplDifferentiaali/mplD105.tex
Avainsanat:MatlabDy, diffyhtälöt, diffyhtalot, mplDifferentiaali(yhtälöt),... add more ...
-
mplODE15
Kirjoita heiluriyhtälö \(\Theta'' + \frac{g}{L} \sin(\Theta) = 0\) ensimmäisen kertaluvun systeemiksi, tai toisen kertaluvun differentiaaliyhtälöksi. Voit ottaa \(g/L = 1.\)
Laske ratkaisu sopivalla aikavälillä (esim. \(\left[0,10\right]\)) ja kolmella erilaisella alkuarvolla, joilla saat erityyppiset ratkaisut.
Piirrä ratkaisukäyrät aikatasoon ja trajektorit faasitasoon.
Vaativuus: 1-3+
Tehtävän Latex-koodi:
../mplteht/mplDifferentiaali/mplD15.tex
Avainsanat:MatlabDy, diffyhtälöt, diffyhtalot, mplDifferentiaali(yhtälöt),... add more ...
-
mplODE17
mplODE17.tex Ratkaise reuna-arvotehtävä \[y''=y^2-1,\ \ y(0)=0,\ \ y(1)=1.\] Maplella. Yritä ensin analyyttista. Jos/kun mitään ei palaudu, voit asettaa esim infolevel[dsolve]:=3:. Näet ainakin, mitä Maple yrittää.
Siirry sitten tyyppiin numeric.
Suorita Maplella suoraan reuna-arvotehtävän ratkaisu, ja piirrä ratkaisufunktion kuvaaja.
Vihje:
Helpin esimerkkien avulla pääset kiinni ratkaisufunktioon. Kannattanee käyttää tarkennetta: output=listprocedure.
Vaativuus: 2
Tehtävän Latex-koodi:
../mplteht/mplODE/mplODE17.tex
Ratkaisu:
../mplteht/mplODE/ratkaisut/mplODE17R.pdf
../mplteht/mplODE/ratkaisut/mplODE17R.mw
Avainsanat: mplODE,Maplediffyht,differentiaaliyhtaloita Maplella
Maplefunktioita: dsolve