symalg.nb |
Mathematicassa on käytettävissä differentiaaliyhtälöiden ratkaisemiseen komento DSolve. Tämä saa kolme argumenttia: ratkaistava yhtälö, tuntematon funktio ja muuttuja. Suositeltava käytäntö on tallettaa yhtälö aluksi jollekin nimelle ja käyttää tätä DSolve-komennon argumenttina:
Yhtälön voi luonnollisesti kirjoittaa DSolve-komentoon suoraankin:
Ratkaisu antaa funktion lausekkeen ja se saadaan sijoitussäännön muodossa listana. Kukin listan alkio on jokin yhtälön ratkaisuksi kelpaava lauseke. Tässä ratkaisulausekkeita on kuitenkin vain yksi, yhtälön yleinen ratkaisu. Määräämättömät vakiot ovat muodossa C[1], C[2] jne.
Jotta ratkaisun lauseketta voitaisiin helposti käyttää, se kannattaa tallettaa jollekin nimelle:
(Lausekkeeseen y[x] siis tehdään listan ensimmäisen -- ja tällä kertaa ainoan -- alkion määräämä sijoitus ja tulos talletetaan nimelle yleinenratkaisu.)
Tästä saadaan yksittäisratkaisu sijoittamalla vakioille jotkin arvot, minkä jälkeen voidaan vaikkapa piirtää kuvaaja:
Komennolla DSolve voidaan myös saada ratkaisu funktiona. Syöte on tällöin annettava hieman erilaisessa muodossa:
Kun tämä funktio talletetaan jollekin nimelle, sitä voidaan käyttää kuten mitä tahansa funktiota:
Komennolla DSolve voidaan myös ratkaista alkuarvoprobleema, jolloin differentiaaliyhtälö ja alkuehdot on annettava listana. Ratkaisu voidaan pyytää joko lausekkeena tai funktiona samalla tavoin kuin yleisen ratkaisun tapauksessa.
DSolve-komennon ensimmäisenä argumenttina voi olla useamman differentiaaliyhtälön ja mahdollisten alkuehtojen muodostama lista, jolloin sitä voidaan käyttää yhtälöryhmien ratkaisemiseen. Toisessa argumentissa tulee tällöin olla tuntemattomien funktioiden muodostama lista.
DSolve-komento ei onnistu ratkaisemaan läheskään kaikkia differentiaaliyhtälöitä; kaikkihan eivät ole alkeisfunktioiden tai edes ns. erikoisfunktioiden avulla ratkaistavissakaan. Se ei kuitenkaan ratkaise edes kaikkia sellaisia, jotka ovat käsin laskemalla suhteellisen helposti ratkaistavissa. Toisaalta työläissä tehtävissä se on korvaamaton apuväline.
Differentiaaliyhtälöiden ratkaiseminen on vaikea tehtävä ja tietokonealgebrassa käytetyistä algoritmeista tulee herkästi monimutkaisia. Tällaisina ne ovat myös alttiita virheille eikä tuloksiin siten pidä sokeasti luottaa. Ohjelmistot kehittyvät versio versiolta. Uudempi versio ratkaisee yleensä aina useampia yhtälöitä kuin edellinen -- ja tekee virheitä eri paikoissa kuin edellinen.