symnum.mws
Ratkaiseminen : Ohjelmistojen käyttö

Differentiaaliyhtälön ratkaiseminen Maplella numeerisesti

Differentiaaliyhtälön numeerisen ratkaisemisen edellytyksenä on, että kyseessä on alkuarvoprobleema , ts. annettuna on sekä differentiaaliyhtälö että alkuehto. Etsittävä ratkaisu on yksikäsitteinen eikä sisällä määräämättömiä vakioita.

Dsolve -komennolle voidaan antaa useita erilaisia parametreja ja yksi niistä on type=numeric , joka laskee ratkaisun numeerisesti. Toinen hyödyllinen parametri on output=listprocedure , joka käskee Maple a antamaan ratkaisun sijoitusjoukkona. Lisää tietoa parametreista löytyy Maple n ohjeesta komennolla ?dsolve[numeric] .

> diffyht:= diff(y(x), x)=x^2-y(x)^2;

diffyht := diff(y(x),x) = x^2-y(x)^2

> alkuehto:= y(0)=1;

alkuehto := y(0) = 1

> numratk:= dsolve({diffyht, alkuehto}, y(x), type=numeric, output=listprocedure);

numratk := [x = proc (x) option `Copyright (c) 1993...

Maple n numeerinen ratkaisumenetelmä muodostaa proseduurin, jonka avulla tarkkaa ratkaisua lähellä olevia ratkaisuapproksimaatioita voidaan laskea. Proseduurilla voidaan laskea arvoja kuten funktiolla.

> numratk(0.8);

[x(.8) = .8, y(x)(.8) = .689747812651123392]

Toisinaan on hyödyllistä poimia proseduurista jonkin tietyn tuntemattoman ratkaisu. Poimitaan y( x ) ja käytetään sitä kuten funktiota.

> yratk:= subs(numratk,y(x));

yratk := proc (x) local rkf45_s, outpoint, r1, r2; ...

> yratk(0.8);

.689747812651123392

> plot(yratk, 0..5);

[Maple Plot]

Proc( x ) ... end proc

Maple käyttää oletuksena alkuarvoprobleeman numeeriseen approksimointiin rkf45 -algoritmia. Tuloksena on proseduuri proc ( x ) ... end proc , jolle voidaan antaa jokin arvo ja se palauttaa approksimaation ratkaisusta tällä arvolla.

Ratkaisualgoritmeja on useita ja Maple voidaan tarvittaessa käskeä käyttämään jotakin tiettyä algoritmia. Tietoa Maple n numeerisen approksimoinnin algoritmeista löytyy ohjeesta komennolla ?dsolve[numeric] .

Dsolve -komennon toimintaa ratkaisun aikana on mahdollista seurata komennolla infolevel[dsolve]:=3 . Oletusarvoisesti infolevel -arvo on 0. Vastaavasti voidaan seurata myös minkä tahansa muun komennon toimintaa.


Teoria: yleinen ja yksittäisratkaisu
Teoria: alkuehto
Teoria: numeerisen ratkaisemisen perusidea
Ratkaiseminen: ratkaiseminen Maplella algebrallisesti

SKK & MS 31.05.2001