Differentiaaliyhtälöt

Numeerinen ratkaiseminen

Olkoon meillä ratkaistavana seuraavanlainen ensimmäisen kertaluvun tavallinen differentiaaliyhtälö: 2 y(x) · y' [Graphics:../Images/diffyht_gr_22.gif]) - 1 = [Graphics:../Images/diffyht_gr_23.gif] . Haluaisimme löytää y:n, joka on t:n funktio ja joka toteuttaa yhtälön. Mathematicassa numeerisesti laskettuja ratkaisuja differentiaaliyhtälöille saadaan funktiolla NDSolve[{yhtälöt, alkuarvoehdot, ratkaistava funktio,{x,xmin,xmax}]. Annetaan seuraavassa esimerkissä muuttujalle dy2 arvoksi edellä mainittu differentiaaliyhtälö.

[Graphics:../Images/diffyht_gr_24.gif]
[Graphics:../Images/diffyht_gr_25.gif]

Ratkaistaan se numeerisesti antamalla NDSolve-funktiolle argumenteiksi yhtälöt dy2 ja y(1) = 3,  kun tiedetään tai toivotaan, että (muuten tuntematon) funktio y saa kohdassa x = 1 arvon 3.

[Graphics:../Images/diffyht_gr_26.gif]
[Graphics:../Images/diffyht_gr_27.gif]

Mathematica antaa vastaukset interpolointifunktioina, joten selkeän numeerisen vastauksen saamiseksi on vielä annettava k.o. funktiolle se x:n arvo jossa ratkaisua haetaan. Käytetään sijoitusoperaatiota /., jolla saamme ratkaisuja eri pisteissä ( esimerkit pisteissä 1.5 ja 1.9).

[Graphics:../Images/diffyht_gr_28.gif]
[Graphics:../Images/diffyht_gr_29.gif]
[Graphics:../Images/diffyht_gr_30.gif]
[Graphics:../Images/diffyht_gr_31.gif]