Yhtälön ratkaiseminen

Yhtälö muodostetaan Mathematicassa aina kahdella yhtäsuuruusmerkillä == (paletissa ==). Yhtälö on siten muotoa vasenp == oikeap.

Algebrallinen ratkaiseminen

Mathematica ratkaisee algebrallisesti kaikki korkeintaan 4. astetta olevat polynomiyhtälöt. Myös osa korkeamman asteen yhtälöistä ratkeaa. Tällöin ratkaisu saattaa kuitenkin olla Root-objektin avulla esitetty ja siten hankalasti tulkittavissa.
Yhtälöt ratkaistaan algebrallisesti Solve-komennolla. Komennossa ensimmäiseksi argumentiksi annetaan ratkaistava yhtälö ja toiseksi argumentiksi muuttuja, jonka suhteen yhtälö halutaan ratkaista.
Solve[
yhtälö, muuttuja]
Jos yhtälössä esiintyy vain yksi muuttuja, niin yhtälö ratkaistaan automaattisesti tämän suhteen. Tällöin ei ole välttämätöntä kirjoittaa Solve-komentoon toista argumenttia.
Yhtälön ratkaisu saadaan
muunnossääntönä  muuttuja -> arvo. Jos ratkaisuja on useita, ne annetaan listana. Yksittäisiin ratkaisuihin voidaan tällöin viitata kuten listan alkioihin. Katso: listan alkioon viittaaminen

[Graphics:../Images/gr_374.gif]
[Graphics:../Images/gr_375.gif]

Ratkaisut saadaan listana seuraavasti.

[Graphics:../Images/gr_376.gif]
[Graphics:../Images/gr_377.gif]

Yksittäiseen ratkaisuun voidaan viitata usealla tavalla:

[Graphics:../Images/gr_378.gif]
[Graphics:../Images/gr_379.gif]
[Graphics:../Images/gr_380.gif]
[Graphics:../Images/gr_381.gif]

Polynomiyhtälöiden lisäksi joitakin muita yhtälöitä voidaan ratkaista Mathematicalla algebrallisesti. Käyttäjälle annetaan varoitus, jos osa ratkaisuista saattaa jäädä löytymättä. Seuraavassa esimerkissä Mathematica ei anna ratkaisun [Graphics:../Images/gr_382.gif]-monikertoja. Vaikeammat transkendenttiyhtälöt ratkaistaan yleensä numeerisesti.

[Graphics:../Images/gr_383.gif]
[Graphics:../Images/gr_384.gif]
[Graphics:../Images/gr_385.gif]

Seuraavassa on esimerkki Root-objektin avulla saadusta ratkaisusta. Ratkaisun numeeriset arvot saadaan N-komennolla tai käyttämällä Solve-komennon sijaan NSolve-komentoa.

[Graphics:../Images/gr_386.gif]
[Graphics:../Images/gr_387.gif]
[Graphics:../Images/gr_388.gif]
[Graphics:../Images/gr_389.gif]

Numeerinen ratkaiseminen

NSolve-komennolla ratkaistaan polynomiyhtälöitä numeerisesti.
NSolve[yhtälö, muuttuja]

[Graphics:../Images/gr_390.gif]
[Graphics:../Images/gr_391.gif]

Muut yhtälöt ratkaistaan numeerisesti käyttäen FindRoot-komentoa. Se etsii yhtälön ratkaisun Newtonin iteraatiolla. Komennossa annetaan ensimmäisenä argumenttina ratkaistava yhtälö, toisena lista, jonka alkioina ovat muuttuja, jonka suhteen yhtälö ratkaistaan, sekä muuttujalle annettava alkuarvo. Sopiva alkuarvo etsitään esimerkiksi kuvaajan avulla.
FindRoot[yhtälö,{muuttuja, alkuarvo}]

[Graphics:../Images/gr_392.gif]

[Graphics:../Images/gr_393.gif]

[Graphics:../Images/gr_394.gif]
[Graphics:../Images/gr_395.gif]

Mathematica Book
Lisää FindRoot-komennosta: luku
3.9.6

Yhtälöryhmät

Yhtälöryhmiä ratkaistaan algebrallisesti Solve-komennolla ja numeerisesti NSolve- ja FindRoot-komennoilla. Ratkaistavat yhtälöt ja muuttujat kirjoitetaan listoiksi. Lineaarinen yhtälöryhmä voidaan ratkaista myös komennolla LinearSolve.
Solve[yhtälöt,muuttujat]
NSolve[
yhtälöt,muuttujat]
FindRoot[{
yhtälö1,yhtälö2,...}, {muuttuja1,alkuarvo1}, {muuttuja2,alkuarvo2},...]

[Graphics:../Images/gr_396.gif]
[Graphics:../Images/gr_397.gif]
[Graphics:../Images/gr_398.gif]
[Graphics:../Images/gr_399.gif]
[Graphics:../Images/gr_400.gif]
[Graphics:../Images/gr_401.gif]

Algebrallinen ratkaisu saattaa olla  Root-objektin avulla esitettynä.

Eliminate ja Reduce

Komennolla Eliminate voidaan yhtälöryhmästä eliminoida halutut muuttujat.

[Graphics:../Images/gr_402.gif]
[Graphics:../Images/gr_403.gif]

Solve-komento ei ota huomioon yhtälössä esiintyvien parametrien kaikkia mahdollisia arvoja. Jos ne on huomioitava, käytetään komentoa Reduce.

[Graphics:../Images/gr_404.gif]
[Graphics:../Images/gr_405.gif]
[Graphics:../Images/gr_406.gif]
[Graphics:../Images/gr_407.gif]