Ensimmäisen kertaluvun yhtälön numeerinen ratkaiseminen

Samankaltaiset tiedostot
Differentiaaliyhtälöryhmän numeerinen ratkaiseminen

Differentiaaliyhtälöryhmä

Numeeriset menetelmät

2v 1 = v 2, 2v 1 + 3v 2 = 4v 2.. Vastaavasti ominaisarvoa λ 2 = 4 vastaavat ominaisvektorit toteuttavat. v 2 =

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Värähtelevä jousisysteemi

Harjoitus 10: Mathematica

DIFFERENTIAALI- JA INTEGRAALILASKENTA

Osa IX. Z muunnos. Johdanto Diskreetit funktiot

4 Korkeamman kertaluvun lineaariset differentiaaliyhtälöt

FYSA2031 Potentiaalikuoppa

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 11: Lineaarinen differentiaaliyhtälö

Harjoitus 5 -- Ratkaisut

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Yhtälöryhmät 1/6 Sisältö ESITIEDOT: yhtälöt

FYSA234 Potentiaalikuoppa, selkkarityö

y = 3x2 y 2 + sin(2x). x = ex y + e y2 y = ex y + 2xye y2

FYSA234 Potentiaalikuoppa, selkkarityö

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Lukujonot Z-muunnos Z-muunnoksen ominaisuuksia Z-käänteismuunnos Differenssiyhtälöt. Z-muunnos. 5. joulukuuta Z-muunnos

13. Ratkaisu. Kirjoitetaan tehtävän DY hieman eri muodossa: = 1 + y x + ( y ) 2 (y )

plot(f(x), x=-5..5, y= )

Monisilmukkainen vaihtovirtapiiri

k=0 saanto jokaisen kolmannen asteen polynomin. Tukipisteet on talloin valittu

Kompleksilukujen kunnan konstruointi

Harjoitus 4 -- Ratkaisut

mlvektori 1. Muista, että Jacobin matriisi koostuu vektori- tai skalaariarvoisen funktion F ensimmäisistä

Differentiaali- ja integraalilaskenta 1 Ratkaisut 5. viikolle /

JATKUVUUS. Funktio on jatkuva jos sen kuvaaja voidaan piirtää nostamatta kynää paperista.

1 Perusteita lineaarisista differentiaaliyhtälöistä

Lukujonon raja-arvo 1/7 Sisältö ESITIEDOT: lukujonot

Fx-CP400 -laskimella voit ratkaista yhtälöitä ja yhtälöryhmiä eri tavoin.

Insinöörimatematiikka D

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

Numeerinen integrointi ja derivointi

Matemaattinen Analyysi

mplperusteet 1. Tiedosto: mplp001.tex Ohjelmat: Maple, [Mathematica] Sievennä lauseke x 1 ( mplp002.tex (PA P1 s.2011)

6. Toisen ja korkeamman kertaluvun lineaariset

2. Viikko. CDH: luvut (s ). Matematiikka on fysiikan kieli ja differentiaaliyhtälöt sen yleisin murre.

Insinöörimatematiikka D

Kaikkia alla olevia kohtia ei käsitellä luennoilla kokonaan, koska osa on ennestään lukiosta tuttua.

Numeeriset menetelmät

Mathematica Sekalaista asiaa

dt 2. Nämä voimat siis kumoavat toisensa, jolloin saadaan differentiaaliyhtälö

Yhden muuttujan funktion minimointi

TEHTÄVIEN RATKAISUT. Tehtäväsarja A. 2. a) a + b = = 1 b) (a + b) = ( 1) = 1 c) a + ( b) = 13 + ( 12) = = 1.

MATEMATIIKAN KOE, LYHYT OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

MS-A010{3,4} (ELEC*) Differentiaali- ja integraalilaskenta 1 Luento 10: Ensimmäisen kertaluvun differentiaaliyhtälö

1 Kompleksiluvut 1. y z = (x, y) Kuva 1: Euklidinen taso R 2

f[x i ] = f i, f[x i,..., x j ] = f[x i+1,..., x j ] f[x i,..., x j 1 ] x j x i T n+1 (x) = 2xT n (x) T n 1 (x), T 0 (x) = 1, T 1 (x) = x.

Kevään 2011 pitkän matematiikan ylioppilastehtävien ratkaisut Mathematicalla Simo K. Kivelä /

Numeeriset menetelmät

Matematiikan tukikurssi, kurssikerta 3

Lukujonot Z-muunnos Z-muunnoksen ominaisuuksia Z-käänteismuunnos Differenssiyhtälöt. Z-muunnos. 1. joulukuuta Z-muunnos

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

Harjoitus 7 -- Ratkaisut

Luku 4. Derivoituvien funktioiden ominaisuuksia.

Kompleksilukujen kunnan konstruointi

2. Eukleideen algoritmi

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Kun yhtälöä ei voi ratkaista tarkasti (esim yhtälölle x-sinx = 1 ei ole tarkkaa ratkaisua), voidaan sille etsiä likiarvo.

Harjoitus 3 -- Ratkaisut

Harjoitus Etsi seuraavien autonomisten yhtälöiden kriittiset pisteet ja tutki niiden stabiliteettia:

MS-C1340 Lineaarialgebra ja differentiaaliyhtälöt

1 Peruskäsitteet. Dierentiaaliyhtälöt

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 1 / vko 44

Aalto-yliopiston perustieteiden korkeakoulu Matematiikan ja systeemianalyysin laitos

Zeon PDF Driver Trial

Differentiaali- ja integraalilaskenta 2 TFM Laskuharjoitus 2L

BM20A0900, Matematiikka KoTiB3

FUNKTION KUVAAJAN PIIRTÄMINEN

Algoritmit 1. Luento 1 Ti Timo Männikkö

Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

LUKUTEORIA A. Harjoitustehtäviä, kevät (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että

Harjoitus 1: Matlab. Harjoitus 1: Matlab. Mat Sovelletun matematiikan tietokonetyöt 1. Syksy 2006

MATEMATIIKAN KOE PITKÄ OPPIMÄÄRÄ Merkitään f(x) =x 3 x. Laske a) f( 2), b) f (3) ja c) YLIOPPILASTUTKINTO- LAUTAKUNTA

Muuttujien määrittely

Numeerinen integrointi

MS-A010{3,4,5} (ELEC*, ENG*) Differentiaali- ja integraalilaskenta 1 Luento 10: Ensimmäisen kertaluvun differentiaaliyhtälö

Talousmatematiikan perusteet: Luento 13. Rajoittamaton optimointi Hessen matriisi Ominaisarvot ja vektorit Ääriarvon laadun tarkastelu

[4A] DIFFERENTIAALIYHTÄLÖT 1. Alkuarvotehtävät

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Partikkelit pallon pinnalla

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

y z = (x, y) Kuva 1: Euklidinen taso R 2

FUNKTION KUVAAJAN PIIRTÄMINEN

Insinöörimatematiikka D

Monikulmiot 1/5 Sisältö ESITIEDOT: kolmio

Matlab- ja Maple- ohjelmointi

Tehtäväsarja I Tehtävät 1-5 perustuvat monisteen kappaleisiin ja tehtävä 6 kappaleeseen 2.8.

Matematiikan peruskurssi (MATY020) Harjoitus 10 to

MAA02. A-osa. 1. Ratkaise. a) x 2 + 6x = 0 b) (x + 4)(x 4) = 9 a) 3x 6x

12. Differentiaaliyhtälöt

9. Lineaaristen differentiaaliyhtälöiden ratkaisuavaruuksista

(0 desimaalia, 2 merkitsevää numeroa).

Transkriptio:

nummen.nb 1 Ensimmäisen kertaluvun yhtälön numeerinen ratkaiseminen Eulerin menetelmä alkaurvoprobleeman y' = f Hx, yl, yhx 0 L = y 0 ratkaisemiseksi voidaan ohjelmoida Mathematicalle euler-nimiseksi funktioksi seuraavalla tavalla (solu on ajettava, jotta määritelmä tulee voimaan): euler@f_, x0_, y0_, h_, xend_d := Module@8X, Y, kend<, Y@k_D := Y@kD = Y@k 1D + hf@x@k 1D, Y@k 1DD; General::spell1 : Possible spelling error: new symbol name "kend" is similar to existing symbol "xend". More Funktion ensimmäinen argumentti on differentiaaliyhtälön oikean puolen funktio f Mathematican funktioksi määriteltynä, kaksi seuraavaa määrittävät alkuehdon, neljäs on askelpituus. Laskenta tapahtuu välillä [x0,xend]. Funktion runko muodostuu Module-komennosta, jonka sisällä on ensin aaltosuluissa lueteltu paikalliset muuttujat, jotka eivät näy funktion ulkopuolelle. Seuraavilla neljällä rivillä on kaavat, joilla paikallisten funktioiden X ja Y arvoiksi määritellään numeerisen ratkaisun hilapisteiden koordinaatit. Toiseksi viimeisellä rivillä lasketaan tarvittavien askeleiden lukumäärä. Viimeisellä rivillä tapahtuu varsinainen laskenta: Hilapisteiden koordinaatit todella lasketaan ja sijoitetaan taulukkoon, joka tulee Module-kutsun arvoksi ja myös euler-funktion arvoksi. Rivit X[k_]:=X[k]=X[k-1]+h; ja Y[k_]:=Y[k]=Y[k-1]+h f[x[k-1],y[k-1]]; ovat hieman erikoiset: niissä näyttäisi olevan kaksi sijoituskäskyä tehtynä symboleilla := ja =. Kyseessä on rerkursiivinen määrittely (symboli :=), jossa esimerkiksi arvon X[k] laskeminen palautetaan arvon X[k-1] laskemiseen, tämä edelleen arvon X[k-2] laskemiseen jne., kunnes päädytään arvoon X[0], joka on aiemmin asetettu. Jotta jokaista arvoa esimerkiksi seuraavaa arvoa X[k+1] laskettaessa ei uudelleen tarvitsisi laskea kaikkia arvoja alkuarvoon X[0] saakka, laskettu arvo X[k] talletetaan funktion X arvoksi operaattorilla =. (Vrt. arvon antamiseen komennossa X[0]=x0;.) euler-funktion käyttö tapahtuu antamalla sille tarvittavat argumentit, jolloin funktio palauttaa taulukon, jossa on hilapisteiden koordinaatit. Argumentit voidaan tallettaa muillekin nimille kuin funktion määrittelyssä käytetyille tai antaa myös suoraan numeroina (esimerkiksi askel= 0.1, euler[function[{x,y},2 x y],0,1,askel,2]). f@x_, y_d := 2xy

nummen.nb 2 h = 0.1 0.1 x0 = 0 0 y0 = 1 1 xend = 2 2 eulerdata = euler@f, x0, y0, h, xendd 880, 1<, 80.1, 1<, 80.2, 1.02<, 80.3, 1.0608<, 80.4, 1.12445<, 80.5, 1.2144<, 80.6, 1.33584<, 80.7, 1.49615<, 80.8, 1.70561<, 80.9, 1.9785<, 81., 2.33463<, 81.1, 2.80156<, 81.2, 3.4179<, 81.3, 4.2382<, 81.4, 5.313<, 81.5, 6.83537<, 81.6, 8.88598<, 81.7, 11.7295<, 81.8, 15.7175<, 81.9, 21.3758<, 82., 29.4986<< Datan perusteella voidaan piirtää kuva ratkaisua approksimoivista pisteistä. eulerkuva = ListPlot@eulerdataD 25 15 5 Samaan tapaan voidaan ohjelmoida parannettu Eulerin menetelmä, Rungen Kuttan menetelmä ja Adamsin Bashforthin menetelmä: pareuler@f_, x0_, y0_, h_, xend_d := Module@8X, Y, kend<, Y@k_D := Y@kD = Y@k 1D + h ê 2 Hf@X@k 1D, Y@k 1DD + f@x@kd, Y@k 1D + hf@x@k 1D, Y@k 1DDDL;

nummen.nb 3 rungekutta@f_, x0_, y0_, h_, xend_d := Module@8X, Y, kend<, Y@k_D := Y@kD = Y@k 1D + 1 ê 6 Module@8k1, k2, k3, k4<, k1= hf@x@k 1D, Y@k 1DD; k2 = hf@x@k 1D + h ê 2, Y@k 1D + k1 ê 2D; k3 = hf@x@k 1D + h ê 2, Y@k 1D + k2 ê 2D; k4 = hf@x@k 1D + h, Y@k 1D + k3d; k1 + 2k2+ 2k3+ k4d; adamsbashforth@f_, x0_, y0_, h_, xend_d := Module@8X, Y, kend<, Y@k_ ê; k<= 3D := Y@kD = Y@k 1D + 1 ê 6 Module@8k1, k2, k3, k4<, k1= hf@x@k 1D, Y@k 1DD; k2 = hf@x@k 1D + h ê 2, Y@k 1D + k1 ê 2D; k3 = hf@x@k 1D + h ê 2, Y@k 1D + k2 ê 2D; k4 = hf@x@k 1D + h, Y@k 1D + k3d; k1 + 2k2+ 2k3+ k4d; Y@k_ ê; k> 3D := Y@kD = Y@k 1D + h ê 24 H55 f@x@k 1D, Y@k 1DD 59 f@x@k 2D, Y@k 2DD + 37 f@x@k 3D, Y@k 3DD 9f@X@k 4D, Y@k 4DDL; Näiden avulla muodostetut ratkaisut ja vastaavat kuvat: pareulerdata = pareuler@f, x0, y0, h, xendd 880, 1<, 80.1, 1.01<, 80.2, 1.07<, 80.3, 1.09399<, 80.4, 1.17319<, 80.5, 1.28347<, 80.6, 1.43236<, 80.7, 1.659<, 80.8, 1.89345<, 80.9, 2.2426<, 81., 2.70906<, 81.1, 3.33756<, 81.2, 4.19331<, 81.3, 5.37247<, 81.4, 7.01859<, 81.5, 9.34876<, 81.6, 12.6956<, 81.7, 17.5758<, 81.8, 24.803<, 81.9, 35.6766<, 82., 52.19<< pareulerkuva = ListPlot@pareulerdataD

nummen.nb 4 rungekuttadata = rungekutta@f, x0, y0, h, xendd 880, 1<, 80.1, 1.005<, 80.2, 1.081<, 80.3, 1.09417<, 80.4, 1.17351<, 80.5, 1.283<, 80.6, 1.43333<, 80.7, 1.63232<, 80.8, 1.89648<, 80.9, 2.2479<, 81., 2.71827<, 81.1, 3.35346<, 81.2, 4.265<, 81.3, 5.41938<, 81.4, 7.09912<, 81.5, 9.48734<, 81.6, 12.935<, 81.7, 17.9918<, 81.8, 25.57<, 81.9, 36.9601<, 82., 54.5863<< rungekuttakuva = ListPlot@rungekuttadataD adamsbashforthdata = adamsbashforth@f, x0, y0, h, xendd 880, 1<, 80.1, 1.005<, 80.2, 1.081<, 80.3, 1.09417<, 80.4, 1.17342<, 80.5, 1.28376<, 80.6, 1.43279<, 80.7, 1.63131<, 80.8, 1.89473<, 80.9, 2.24495<, 81., 2.71334<, 81.1, 3.34529<, 81.2, 4.711<, 81.3, 5.39685<, 81.4, 7.06139<, 81.5, 9.42361<, 81.6, 12.8263<, 81.7, 17.8044<, 81.8, 25.39<, 81.9, 36.3831<, 82., 53.5546<< adamsbashforthkuva = ListPlot@adamsbashforthdataD Esimerkkinä oleva alkuarvoprobleema on myös ratkaistavissa algebrallisesti, jolloin voidaan verrata eri menetelmien tarkkuutta toisiinsa ja myös tarkkaan ratkaisuun: tarkkaratkaisu = y ê. First@DSolve@8y'@xD == f@x, y@xdd, y@x0d == y0<, y, xdd FunctionA8x<, x2 E

nummen.nb 5 tarkkakuva = Plot@tarkkaratkaisu@xD, 8x, 0, xend<d 25 15 5 Kaikki ratkaisut samassa kuvassa: kuva = Show@eulerkuva, pareulerkuva, rungekuttakuva, adamsbashforthkuva, tarkkakuva, PlotRange > AllD Lopuksi eri menetelmillä saadut arvot tarkasteluvälin loppupisteessä: vertailu = 8Last@eulerdataD@@2DD, Last@pareulerdataD@@2DD, Last@rungekuttadataD@@2DD, Last@adamsbashforthdataD@@2DD, tarkkaratkaisu@xendd êên< 829.4986, 52.19, 54.5863, 53.5546, 54.5982< Edellä olevia syötteitä voi muuntaa ja tämän jälkeen ajaa koko muistikirjan yhdellä kerralla (valikko Kernel / Evaluation).

nummen.nb 6 Linkit ensimmäisen kertaluvun yhtälön numeerinen ratkaiseminen Eulerin menetelmä parannettu Eulerin menetelmä Rungen Kuttan menetelmä Adamsin Bashforthin menetelmä SKK.04.01