Olkoon funktio f x jatkuva jollain välillä [a;b]. Jos on olemassa sellainen luku c, että a < c < b ja f a f b 0, niin on olemassa sellainen luku c, että a < c < b ja f c =0. Tämän Bolzanon lauseen mukaan jatkuva funktio vaihtaa merkkiä siis vain nollakohdan kautta. Jos siis tiedät vaikkapa juuri Bolzanon lauseen nojalla tai Algebran peruslauseen nojalla, että yhtälöllä on (ainakin yksi) ratkaisu, mutta et joko osaa etsiä ratkaisun kaavaa tai tiedät, että sellaista ei ole olemassa, niin voit turvautua johonkin lukuisista numeerisista ratkaisumenetelmistä. Numeerisissa ratkaisumenetelmissä on ohjelmoitavasta laskimesta suunnaton apu. Vielä parempi on, jos koneesi osaa myös esittää funktioitten kuvaajia graafisessa muodossa. Graafisen laskimen avulla tai vastaavalla tietokoneohjelmalla voit ensin katsoa, missä nollakohta suunnilleen on ja sitten kokeilemalla tarkentaa silmämääräistä arviotasi. Jos koneessasi on toiminto, jolle usein annetaan nimi SOLVER, et joudu itse kokeilemaan, vaan koneesi tekee sen puolestasi. Kokeilemista hienostuneempi menetelmä on käyttää kaavaa, jolla ratkaisua voi arvioida eli käyttää likiarvoa eli approksimaatiota. Nämä käyttävät usein iteraatioksi kutsuttavaa prosessia. Iteroiminen tarkoittaa sitä, että on olemassa jokin laskumenetelmä, jota toistamalla saadaan likimääräinen, numeerinen ratkaisu, jonka tarkkuus on tiettyyn ohjelmistokohtaiseen kierrosten lukumäärään saakka tyypillisesti sitä parempi mitä suurempaa iterointikierrosten määrää käytetään. Iteroiminen sopii erityisen hyvin tietokoneella tai tietysti laskimella ohjelmoitavaksi. Eräällä hyvin kuuluisalla yhtälöllä, niin sanotulla Keplerin yhtälöllä, ei ole olemassa suljetussa muodossa olevaa ratkaisua. Keplerin yhtälö on muotoa E=M e sin E, missä kulma E (poikkeama ympyrästä, eccentric anomaly) on muuttuja, joka pitäisi ratkaista. Myös M on kulma (keskipoikkeama, mean anomaly), mutta siitä ei nyt tarvitse välittää kuten ei myöskään eksentrisyydestä (eccentricity) e, joka ellipsin tapauksessa on nollan ja ykkösen välissä. Tämä yhtälö joudutaan kuitenkin ratkaisemaan aina, kun lasketaan taivaankappaleen rata. Esimerkiksi Newtonin menetelmä, joka kuuluu tällä kurssilla käsiteltäviin asioihin, ilmaistaan iteraatiokaavan eli suomeksi palautuskaavan avulla. Kun nyt mainitsin kulman käsitteen siis kulmat M ja E niin totean heti seuraavan asian. Teen siitä oikein huomautuksen. Huomaa! Tällä kurssilla ja näissä yhteyksissä yleensäkin, kulma ilmaistaan radiaaneissa. Seuraavassa kappaleessa jatkan tarinaani kertomalla lisää muun muassa noista yllä mainituista 1(22)
asioista. Aloittakaamme Iteroiminen sopii siis hyvin tietokoneella tehtäväksi. Koska tämä kurssi ei ole ohjelmointikurssi eikä laskimen käytön kurssi, niin vältän laskin- tai ohjelmointikielispesifisiä asioita. Pyrin sellaiseen asioitten kuvailuun, että kunhan olet lukenut koneesi ja ohjelmistosi käsikirjat, osaat itse soveltaa niitä omissa välineissäsi. Siis: tunne työvälineesi! Ainakin seuraavilla laskimenvalmistajilla on nyt käsillä oleviin asioihin erinomaisesti sopivia malleja: Casio, Hewlett-Packard, Sharp ja Texas Instruments. Jos sinulla on jonkin muun valmistajan kone, se saattaa sopia ihan yhtä hyvin. Aloitetaan Keplerin yhtälön kanssa. Se on yleisesti muotoa E=M e sin E. Tarkastellaan sitä tapauksessa M = 1 ja e = 1. Vaihdetaan myös tuntematon E x:ksi. Tällöin x=1 sin x (1) Tapaus, jossa eksentrisyys on yksi tarkoittaisi sitä, että planeetta ammutaan Auringosta suoraan ylös jollekin äärelliselle etäisyydelle, josta se sitten tipahtaisi takaisin. No, jotain tällaista protuberanssit tekevät. Esimerkki 22 Yhtälön (1) tutkiminen tarkoittaa jatkuvien funktioitten summana jatkuvan funktion K x = x sin x 1 nollakohtien etsimistä. Työ kannattaa aloittaa hahmottelemalla K:n kuvaajaa. 2(22)
Kuva antaa ymmärtää, että yhtälöllä on ratkaisu ainakin välillä (1,5;2). Graafisissa laskimissa on usein mahdollisuus etsiä nollakohtaa, kun käyrän yhtälö on annettu. Esimerkiksi TI 84Plus antaa tällaisen toiminnon avulla ratkaisun x = 1,9345632. Jos saatu arvo puolestaan sijoitetaan funktion yhtälöön x:n paikalle, niin edellä mainittu laskinmalli saa tuloksen 1,45776E 8. Ei siis tarkalleen nolla, mutta aika lähellä. Tarkempi arvio x:lle on 1,934 563 210 752. Onko yhtälöllä muita ratkaisuja? Derivoidaan K(x): K ' (x) = 1 cos(x), joka puolestaan on aina nolla tai suurempi. Funktio on siis kasvava eikä sillä ole muita nollakohtia. Huomaa! Kysymys ratkaisujen lukumäärästä on yhtä tärkeä kuin alkuperäinen kysymyksemme, onko ratkaisuja ylipäätään yhtään. Ota huomioon riski, että ratkaiset yhtälön muuten oikein, mutta annat vastauksena ratkaisun, jota ei kysytty tai tarvittu. Esimerkki 23 Tarkastellaan yhtälöä x 3 1 x 3=0. Onko sillä ratkaisuja? Kuinka monta, jos on? Mitä suuruusluokkaa ne ovat? Ratkaisu Annetaan koneen tehtäväksi piirtää kuva funktiosta f x =x 3 1 x 3, joka on jatkuva muualla paitsi x:n arvolla 0. Ohessa tietokoneella piirretty kuva. Kuvan perusteella yhtälöllä on kaksi ratkaisu. Koska mukana on x:n käänteisluku on selvää, että x:n arvo 0 on vedenjakaja. Tutkitaan funktion f x =x 3 1 x 3 derivaattafunktiota f' x =3x 2 1 x 2. Se on nolla x:n reaaliarvoilla 1 4 3 ja 1 4 3, joita vastaavissa käyrän pisteissä funktiolla on vastaavasti maksimi ja minimi. Koska f 1 4 x 0, niin funktio ei ole nolla millään x:n negatiivisella arvolla. 3(22)
Koska myös f 1 4 x 0 ja koska derivaatan merkkitarkastelun nojalla suorita se! funktio on laskeva 1 4 3 :aa pienemmillä x:n arvoilla sekä nouseva 1 4 3 :aa suuremmilla x:n arvoilla, niin funktiolla on kaksi nollakohtaa x:n positiivisilla arvoilla. Arvioidaan näistä kahdesta juuresta pienempää. Arvioidaan kuvan avulla kaksi x:n arvoa nollakohdan molemmilta puolilta. Laskimella huomataan, että f 0,2 0 ja f 0,4 0. Bolzanon lauseen nojalla ratkaisu on välillä (0,2;0,4). Kokeillaan x:n arvoa, joka on näitten puolivälissä: välillä (0,3;0,4). Lasketaan 0,2 0,4 =0,3 ja f 0,3 0. Juuri on siis 2 f 0,3 0,4 = f 0,35 0, 2 joten juuri on välillä (0,30;0,35). Kokeillaan vielä arvoa 0,325: f 0,325 = 0,11. Juuri on välillä (0,325;0,35). Se tarkentuu melko hitaasti. Hitaus on puolitusmenetelmän heikkous. Vastaus: Nollakohtia on kaksi. Ne ovat välillä (0,325;0,350) ja kuvan mukaan välillä (1,0;1,5). Laskimen yhtälönratkaisija antaa Esimerkin 23 kuuden merkitsevän numeron tarkkuudella juuret 0,337 667 ja 1,307 49. Iteroikaamme siis: puolitusmenetelmästä Puolitusmenetelmän etu on sen yksinkertaisuus ja haitta sen hitaus. Hitaudella tarkoitan tässä yhteydessä sitä, että tarvitaan monta iterointikierrosta halutun tarkkuuden saavuttamiseksi. Todellisissa tilanteissahan yhtälön ratkaisijalla on mielessään selvä käsitys siitä, millä tarkkuudella hän ratkaisun tarvitse. Puolitusmenetelmän idea on puolittaa askel kerrallaan alue, josta juuri löytyy. Oletetaan, että Bolzanon lauseen ehdot voimassa yhtälön juuren ympäristössä [a;b]. Voit käyttää seuraavaa algoritmia: Piirrä kuva yhtälöä vastaavan funktion kuvaajasta Valitse pisteet, joista toisessa funktio on negatiivinen toisessa positiivinen ja jotka pisteet ovat mahdollisimman lähellä toisiaan 4(22)
Laske funktion arvo x:n arvolla, joka on näitten kahden arvon puolivälissä Valitse uusi väli: rajat ovat äskeinen x:n arvo ja se x:n arvo, jossa funktio on erimerkkinen Laske funktion arvo x:n arvolla, joka on uusien rajojen keskiarvo Toista 4. askeleesta alkaen Pientä lukua merkitään matematiikassa usein symbolilla (epsilon). Esimerkki 24 Ratkaise yhtälö log x x 2=0 kolmen merkitsevän numeron tarkkuudella. Ratkaisu Ohessa funktion f x =log x x 2 kuvaaja tietokoneen piirtämänä. Kuvasta tai kokeilemalla nähdään, että 1,5 < x < 2. Jos sinulla ei ole graafista laskinta, voit arvailla nollakohdan sijaintia sen perustella, mitä tiedät logaritmifunktion (tässä tehtävässä) ja muiden funktioiden kulusta. Ensimmäinen väli on siis (1,5;2,0). 5(22)
Lasketaan f 1,5 2,0 = 0,0070 0. Uusi väli on siis (1,75;2,00). Lasketaan seuraava x:n 2 arvio: f 1,75 2,00 = 0,148 0. Laaditaan tästä taulukko. 2 Väli Keskipiste Funktion arvo keskipisteessä (1,5;2,0) 1,7500000-0,0069600 (1,75;2,00) 1,8750000 0,1480000 (1,750;1,875) 1,8125000 0,0707780 (1,7500;1,8125) 1,7812500 0,0319700 (1,7500;1,78125) 1,7656250 0,1253347 (1,7500;1,7656250) 1,7578125 0,0027850 (1,75000;1,7578125) 1,7539063-0,0020874 (1,7539063;1,7578125) 1,7558594 0,0003491 (1,75390625;1,7558594) 1,7548828-0,0008691 (1,7548828;1,7558594) 1,7553711-0,0002600 (1,75537109;1,75585938) 1,7556152-0,0000446 (1,75537109;1,75561523) 1,7554932 0,0001077 (1,75537109;1,75549316) 1,7554321-0,0001838 Tulos: 1,76 Koska kolmeen merkitsevään numeroon pyöristetty tulos ei muutu arvosta 1,76, päätellään, että yhtälön ratkaisu tällä tarkkuudella on 1,76. Koska funktion derivaattafunktio yksi ratkaisu. f' x = log e 1 0, kun x > 0, niin yhtälöllä on tarkalleen x Vastaus: Ratkaisu kolmen merkitsevän numeron tarkkuudella on 1,76. Puolitusmenetelmää kehittyneempi menetelmä on haarukointimenetelmä. Se soveltaa paljolti samaa ideaa kuin puolitusmenetelmä, mutta haarukointimenetelmä ei jaa väliä välttämättä puoliksi. Sen käyttö näyttääkin vähän erilaiselta kuin puolitusmenetelmän käyttö, mutta ei anneta tämän sivuseikan hämätä. Voit myös ajatella, että puolitusmenetelmä on eräs tapa soveltaa haarukointimene- 6(22)
telmää. Iteroikaamme siis: haarukointimenetelmästä Haarukointimenetelmää käytettäessä laskin pääsee näyttämään tehonsa paremmin kuin puolitusmenetelmän kanssa. Olkoot Bolzanon lauseet ehdot voimassa asiaan kuuluvalla välillä [a;b]. Esimerkki 25 Ratkaise yhtälö 2x sin x 2=0 viiden merkitsevän numeron tarkkuudella. Ratkaisu Ohessa funktion f x =2x sin x 2 kuvaaja tietokoneen piirtämänä. Koska funktio on jatkuvien funktioitten summa, se on itsekin jatkuva. Koska funktion derivaattafunktio on kaikilla x:n reaaliarvoilla nollaa suurempi ja koska f 1,3 = 0,363 558 ja koska vielä f 1,7 = 0,408 335, niin annetulla yhtälöllä on tarkalleen yksi ratkaisu. Sovelletaan haarukointimenetelmää. Jos laskimessasi on taulukkolaskentaohjelma, nyt olisi sen käytön paikka. Toinen, ehkä mielenkiintoisempi vaihtoehto on kirjoittaa itse ohjelma, joka hoitaa homman. Canonilla, Casiolla, HP:lla ja Sharpilla on varmasti vastaavat mallit, mutta Texas- Istruments'in mallin TI-84Plus yksi mahdollinen ohjelmalistaus on seuraava: 7(22)
:1.3 X :While X 1.7 :2*X sin(x) 2 Y :X+1 X :Disp Y :End Se tuottaa luettelon:.363 558 185.185 449 730 +.002 505 013 +.200 426 397 +.408 335 190 Luettelosta nähdään, että funktion merkki vaihtuu toisen ja kolmannen rivin välillä eli ratkaisukandidaattien 1,4 ja 1,5 välissä. Jaetaan nyt tämä väli sopivankokoisiin osiin ja korjataan ohjelma sen mukaiseksi. Merkki vaihtuu nyt 1,4:n ja 1,5:n välissä. Jaetaan nyt tämä osiin. Huomataan, että ratkaisu on välillä ]1,498;1,499[. Nyt koodi :1.4986 X :While X 1.4990 :2*X sin(x) 2 Y :X+0.0001 X :Disp Y :End tuottaa tuloksen:.000 194 977 009.000 002 185 384 60 +.000 190 616 213 9 +.000 383 427 786 5 +.000 576 249 333 3 8(22)
Lopulta koodilla :1.4987011 X :While X 1.4987012 :2*X sin(x) 2 Y :X+0.0000001 X :Disp Y :End saadaan ratkaisu : se on lukujen 1,4987011 ja 1,4987012 välissä. Vastaus: 1,4987. Huomaa, että minä en vetoa piirrokseen, vaan derivaattaan, kun päättelen, että Esimerkin 25 yhtälöllä on tarkalleen yksi ratkaisu. Huomaa, että kehotus ratkaise yhtälö sisältää myös kehotuksen tutkia ratkaisujen lukumäärää ja etsiä ne kaikki tai kertoa, että ratkaisua ei ole. Esimerkki 26 Ratkaise yhtälö x ln 1 x =0 viiden merkitsevän numeron tarkkuudella. Ratkaisu Merkitään: f x =x ln 1 x = x ln x. Tällöin f' x = 1 x 1 0, kun x > 0. Funktion kuvaajan perusteella yhtälöllä on yksi ratkaisu välillä (0,5;0,6). Kopioin tähän taulukkolaskentaarkin ensimmäisen ja viimeisen sarjan. Niistä nähdään, että ratkaisu on 0,56714. Tee sinä koko sarja! [0,5;0,6] f(x),500 -,193,510 -,163,520 -,134,530 -,105,540 -,076,550 -,048,560 -,020,570,008,580,035,590,062,600,089 9(22)
Ohessa funktion kuvaaja, jonka tein tietokoneella. [0,5671;0,5672] f(x),56710 -,00012,56711 -,00009,56712 -,00006,56713 -,00004,56714 -,00001,56715,00002,56716,00005,56717,00007,56718,00010,56719,00013,56720,00016 Vastaus: x = 0,56714. Iteroikaamme siis: Newtonin menetelmästä Newtonin menetelmä arvioi tutkittavaa funktiota sen tangenttien avulla. Menetelmän etu verrattuna puolitusmenetelmään sekä haarukointimenetelmään on sen suppenemisen nopeus. Toinen etu on, että hankalan funktion nollakohdan hakeminen muutetaan suoran nollakohdan hakemiseksi. Nyt joudutaan kuitenkin vaatimaan, että tarkasteltava funktio on derivoituva ainakin jossain nollakohdan x ympäristössä ]x ε;x + ε[, missä ε > 0 sekä täyttää Bolzanon lauseen oletukset 10(22)
vastaavalla suljetulla välillä. Huomaa varmistaa, että funktiosi todella on 1) määritelty kohdassa x 2) derivoituva sen ympäristössä. Newtonin menetelmän käyttö aloitetaan etsimällä juurelle likiarvo eli alkuarvo. Olkoon se nyt x 0. x 1 x 0 Alkuarvo valitaan läheltä kohtaa, jossa juuri näyttää olevan. Lasketaan funktion ja funktion derivaatan arvot tällä muuttujan arvolla eli lasketaan f(x 0 ) ja f ' (x 0 ). Juuren seuraava likiarvo x 1 on se x:n arvo, jossa pisteeseen (x 0 ;f(x 0 )) piirretty käyrän tangentti leikkaa x akselin. Seuraava likiarvo x 2 saadaan taas pisteeseen (x 1 ;f(x 1 )) piirretyn tangentin avulla ja niin edelleen. Lopulta tangentti osoittaa kohti ratkaisua! Kun tätä menetelmää sovelletaan toistuvasti riittävän säännölliseen funktioon, niin kukin juuren arvio on edeltäjäänsä tarkempi. Jos funktio on hankala derivaatta tulee nollaksi väärässä kohdassa tai muuta sellaista voi käydä niinkin, että ratkaisua ei näin saada, vaikka se on olemassa. Oheisen kuvan paksu, musta käyrä esittää tutkittavan funktion kuvaajaa. Ruskehtavan keltaiset pystyviivat ovat suorien x = x 0 ja x = x 1 kuvaajat. Niitten avulla merkitään vastaavat käyrän pisteet, 11(22)
jotka on merkitty sinisillä viivanpätkillä. Piirroksen suora r on käyrän kohtaan x 0 piirretty tangentti. Suora s taas on kohtaan x 1 piirretty tangentti. Newtonin algoritmi 1. Tarkista Bolzanon lauseen ehdot sekä yhtälön derivoituvuus nollakohdan ympäristössä 2. Valitse alkuarvo x 0 3. Laske f(x 0 ) ja f ' (x 0 ) 4. Arvo x n on pisteeseen (x n-1 ;f(x n-1 )) piirretyn tangentin ja x akselin leikkauskohta 5. Valitse alkuarvoksi x n 6. Jatka kohdasta 2. eli lyhyemmin: Jos ratkaistavana on yhtälö f x =0, niin silloin Newtonin menetelmän mukaan on x n 1 = x n f x n f' x n, missä f ' x n 0, n = 0, 1, 2 Esimerkki 27a Ratkaise yhtälö x 5 3x 8=0 viiden merkitsevän numeron tarkkuudella. Ratkaisu Yhtälöä vastaava funktio on polynomifunktiona kaikkialla jatkuva ja derivoituva ja sen derivaattafunktio on f' x =5x 4 3. Valitaan alkuarvoksi x 0 arvo 1. Laskut tuottavat seuraavan taulukon: x n x n 1 = x n y n y' n 1,000000 6,000000 6,000000 4,803458 4,803458 3,850111 12(22)
3,850111 3,095824 3,095824 2,510476 2,510476 2,080082 2,080082 1,807462 1,807462 1,690945 1,690945 1,671102 1,671102 1,670580 1,670580 1,670579 1,670579 1,670579 Tulos ei muutu arvon 1,6706 jälkeen. Vastaus: x = 1,6706. Monissa funktiolaskimissa on toiminto, joka palauttaa edellisen laskun tuloksen. Jos et halua kirjoittaa ohjelmaa, joka iteroi vastauksen, voit käyttää tätä toimintoa. Toimi seuraavalla tavalla. Annan ohjeet, jotka toimivat Texas Instruments'in mallien ti-83 ja TI- 84Plus kanssa. Jossain muussa koneessa saattaa olla ENTER'in tilalla EXE. Vastaavat toiminnot tehokkaassa laskimessa kuitenkin on. Näppäile TI:hin siis 1 ja paina ENTER. Näppäile sitten koneeseesi seuraava tai sitä vastaava listaus. Etsi siitä vastaavuudet yhtälön x n 1 = x n f x n f' x n ja lausekkeitten x 5 3x 8 sekä 5x 4 3 kanssa: ANS (ANS^5 3 * ANS 8)/(5*ANS^4-3) Paina nyt ENTER'iä (vastaavasti EXE) riittävän monta kertaa. Näet, kuinka saat yllä olevan taulukon oikeanpuoleisen sarakkeen. Esimerkki 27b Palataan äskeiseen yhtälöön vielä hetkeksi. Ratkaistavana on siis yhtälö Valitaan alkuarvoksi suurpiirteisesti x 0 = 0. Tehdään uusi taulukko. x 5 3x 8=0 jälleen. 13(22)
x n x n 1 = x n y n y' n 0,000000-2,666667-2,666667-2,126929-2,126929-1,672393-1,672393-1,227532-1,227532-0,376965-0,037697-2,749037-2,749037-2,194267-2,194267-1,731202-1,731202-1,293219-1,293219-0,588845-0,588845-3,216865-3,216865-2,572967 Kävipä ohraisesti! Valmista ei tule. Tämä johtuu siitä, että tarkasteltavan funktion derivaatta on nolla x:n arvolla noin 0,88 eli ennen kuin juuri on löytynyt. Sen yli ei Newtonin metodilla päästä. Alkuarvo kannattaa siis valita lähempää. Iteroikaamme siis: sekanttimenetelmästä Sekanttimenetelmä voidaan johtaa Newtonin menetelmästä korvaamalla tangentti sekantilla, joka yhdistää yhtälön funktion kuvaajan kaksi ennalta valittua tai laskettua pistettä. Kun luovutaan tangentista, niin funktiolta ei tarvitse vaatia derivoituvuutta. Luonnollisesti Bolzanon lauseen ehtojen täytyy kuitenkin olla voimassa jollain välillä [a;b]. Sekanttimenetelmä käyttää kahta alkuarvoa, jotka ovat sekantin päätepisteiden x koordinaatit. Merkitään niitä nyt kirjaimilla x 0 ja x 1. Tämä johtaa oheisen kuvan merkinnöin yleisen suoran 14(22)
yhtälön avulla kaavaan x 2 = x 1 f x 1 x 1 x 0 f x 1 f x 0, missä pisteen (x 0 ;f(x 0 )) tilalle voi tietysti valita myös pisteen (x 1 ;f(x 1 )). Tämä yleistyy yhtälöksi x n 1 = x n f x n x n x n 1 f x n f x n 1, n = 1,2,3 x 2 x 0 x 1 Tämä yhtälö ei edellytä funktion merkin vaihtumista arvojen x n ja x n+1 välissä, mutta joskus alkuarvot kannattaa valita niin, että nollakohta osuu heti ensimmäisinä valittujen pisteitten väliin. x n x n 1 Jos äskeisen yhtälön termi eli sekantin kulmakerroin tulee jollain n:n arvolla f x n f x n 1 nollaksi, niin sekantti on vaakasuorassa eikä iterointiprosessia voi jatkaa. Yritä uudestaan eri alkuarvoilla. Huomaa, että monilla sovelluksilla laskimella tai tietokoneohjelmistolla jo kulmakertoimen arvo 10-6 on käytännössä sama kuin nolla ja jopa arvo 10-4 epäilyttää. 15(22)
Esimerkki 28 Ratkaise x=cos x, x [0; 2 ]. Ratkaisu Tarkastellaan funktiota f x =x cos x, missä x [0; 2 ]. Lasketaan ensin funktion arvot välit päätepisteissä: f(0) = 1, f(2 ) = 2 1. Yhtälöllä on siis ainakin yksi ratkaisu. Koska funktion derivaattafunktio f ' x =1 sin x on aina nolla tai suurempi, ei yhtälöllä ole annetulla välillä useampia kuin yksi ratkaisu. Tehtävän antaja ei kerro, millä tarkkuudella vastaus pitäisi antaa. Valitsen itse tarkkuudeksi kuusi merkitsevää numeroa. Sovellan sekanttimenetelmää annetun yhtälön ainoan ratkaisun etsimiseen. Valitsen kuvan opastamana: x 0 = 0,5 x 1 = 0,9 16(22)
joista 0,9 0,5 x 2 =0,9 f 0,9 f 0,9 f 0,5 =0,730 242 888 5. Lasken välivaiheet kymmenellä merkitsevällä numerolla, jotta kurittomasti kasautuvat pyöristysvirheet pysyvät jollain tavalla ruodussa. Teenpä taas taulukon laskuista. i : x i : 0 0,500 000 000 0 1 0,900 000 000 0 2 0,730 242 888 5 3 0,738 795 332 2 4 0,739 085 701 7 5 0,739 085 133 1 6 0,739 085 133 2 Ainakaan taulukon kuuden merkitsevän tarkkuuden arvo ei muutu enää, joten päättelen, että tulos on kuuden merkitsevän numeron tarkkuudella 0,739 085. Vastaus: Yhtälön ainoa ratkaisu on kuuden merkitsevän numeron tarkkuudella 0,739 085. Esimerkin 28 voit laskea TI-84Plus koneella seuraavasti. Tallenna ensin luku 0,5 muistipaikkaan A ja luku 0,9 muistipaikkaan B. Kirjoita ja aja sitten seuraava koodi. :B-(B-COS(B))*(B-A)/(B-COS(B)-(A-COS(A)) STOŒC :B STOŒ A :C STOŒ B :Disp C Kun olet ajanut tämän kerran käyttämällä koneen PRGM valikkoa, paina toistuvasti ENTER niin monta kertaa kuin on tarpeen. Muut merkit ja mallit vastaavalla tavalla! 17(22)
Iteroikaamme siis: kiintopistemenetelmästä Kiintopistemenetelmä on nopea eli se suppenee nopeasti tai nähdään nopeasti, että se ei toimi. Sitä sanotaan alan kirjallisuudessa myös Picard'in iteraatiomenetelmäksi. Kiintopistemenetelmää voidaan pitää oikeana iteroinnin tyyppiesimerkkinä. Valitettavasti on myös olemassa harmaa alue, josta on tapauskohtaisesti selvitettävä, toimiiko kiintopistemenetelmä vai ei. Tähän viittaan myös lauseen Riittävä ehto kiintopistemenetelmän suppenemiselle yhteydessä. On siis olemassa tilanteita, missä mainitun lauseen ehto ei täyty, mutta jotka ovat ratkaistavissa kiintopistemenetelmän avulla. Olkoon meillä taas ratkaistavana yhtälö, jota vastaava funktio on jokin f(x). Luonnollisesti Bolzanon lauseen ehtojen täytyy nytkin toteutua jollain välillä [a;b]. Jotta kiintopistemenetelmää voi soveltaa, yhtälö f(x) = 0 on voitava kirjoittaa muodossa x = g(x) eli se on voitava jakaa yhtälön y = x ja y = g(x) leikkauspisteen ratkaisuyhtälöksi. Aloitan esimerkillä. Esimerkki 29 Ratkaise yhtälö x 5 17x 8=0. Ratkaisu Tunnetuin menetelmin voit helposti itse todeta, yhtälöllä on tarkalleen yksi ratkaisu (Derivaattafunktio on 5x 4 + 7...). Annan taas koneelle tehtäväksi piirtää kuva. että Nyt kirjoitan annetun yhtälön funktion sitten muotoon x = g(x): x 5 17x 8=0 8 x5 x= 17. Valitaan alkuarvoksi x = 0, joka 8 sijoitetaan g(x):ään, joten x = 17. Kuvan mukaan tämä on ilmeisesti jo selvästi parempi ratkaisun arvio kuin 0. Annanpa koneen piirtää kuvat myös suorasta y = x ja funktiosta y = g(x). 18(22)
Kuten varmaan jo huomasit, tämä on suorastaan ihanteellinen tapaus laskinta ajatellen. Annetaan alkuarvo x 0 yllä valittiin nolla jonka avulla lasketaan seuraava eli x 1, jonka avulla lasketaan seuraava, jonka avulla Voit siis käyttää ANS komentoa tai millä nimelle juuri sinun koneesi sen sitten tunteekin. Tuloksena on taulukko: x 0 0,000000 x 1 0,470588 x 2 0,469231 x 3 0,469250 x 4 0,469250 x 5 0,469250 Kuusi merkitsevää numeroa on ihan hyvä saavutus, joten lopetan tämän laskemisen tähän. Vastaus: Yhtälöllä on tarkalleen yksi reaalilukuratkaisu. Se on kuuden merkitsevän numeron tarkkuudella 0,469 250. 19(22)
Esimerkki 30 Ratkaise yhtälö x 5 3x 8=0 viiden merkitsevän numeron tarkkuudella. Ratkaisu Toimitaan kuten Esimerkissä 29. Helposti nähdään, että yhtälöllä on tarkalleen yksi ratkaisu. Kirjoitetaan yhtälö siis muotoon päin. Saadaan tauluko: 8 x5 x= 3. Otetaan alkuarvoksi taas 0 ja jatketaan sitten eteen x 0 0,000000 x 1 2,666667 x 2-42,282500 x 3 45049100 x 4 6 10 37 x 5 Miksi näin? Miksi se toimi äsken, mutta ei enää? Esimerkissä 29 sekä x että x 5 pysyivät nollan ja ykkösen välissä, jolloin iteraatio suppeni kohti äärellistä arvoa. Esimerkissä 30 taas jouduttiin heti tilanteeseen, missä ykköstä isompaa lukua korotettiin viidenteen potenssin. Sellainen hajaantuu nopeasti. Esimerkki 31 Ratkaise yhtälö x 5 3x 8=0 viiden merkitsevän numeron tarkkuudella. Ratkaisu Kirjoitetaan yhtälö äskeisen sijasta nyt muotoon x= 8 3x 5, jotta käsiteltävät luvut pysyvät jonkinlaisessa hahmossa. Juurrettava on ykköstä isompi, mutta juuren ottamisen takia tämä lukujono suppenee kohti ratkaisua. Nyt saadaan taulukko: 20(22)
x 0 0,000000 x 1 1,515717 x 2 1,281255 x 3 1,329658 x 4 1,320235 x 5 1,322090 x 6 1,321726 x 7 1,321797 x 8 1,321783 x 9 1,321786 x 10 1,321786 Valitulla laskutarkkuudella tulos ei enää muutu. Viiden merkitsevän numeron tarkkuudeksi saadaan 1,3218. Vastaus: Ratkaisu on 1,3218. 21(22)
Yleensä yhtälö, josta käytin edellä säännönmukaisesti merkintää f(x) = 0, voidaan kirjoittaa muotoon x = g(x) useammalla eri tavalla. Jotkut näistä suppenevat, toiset hajaantuvat. Seuraavassa lause, joka antaa riittävän ehdon suppenemiselle. Sen todistus voidaan tukea esimerkiksi differentiaalilaskennan väliarvolauseeseen, mutta minä sivuutan sen. Riittävä ehto kiintopistemenetelmän suppenemiselle Merkitään yhtälön f(x) = 0 juurta X:llä, ja olkoon [a ; b] sellainen väli, että x 0 [a;b]. Jos on olemassa sellainen reaalivakio k, että tämä yhtälö on kirjoitettavissa välillä [a ; b] muotoon x = g(x), missä g ' x k 1. niin kiintopistemenetelmän mukaisten x n :n jono suppenee kohti juurta X. Huomaa, että kirjoitin juuri riittävä ehto. Tämä sananvalinta vihjaa, että on tilanteita, missä vähempikin riittää. Esimerkki 32 Edellä Esimerkeissä 30 ja 31 yhtälö x 5 3x 8=0 kirjoitettiin kahdella eri tavalla ratkaisumenetelmän mukaiseen muotoon. Ne olivat 8 x5 x= 3 ja x= 5 8 3x. Tarkastellaan näitä yhtälöitä äskeisen lauseen valossa. Ratkaisu Koska olemassa. D 8 x5 = 5x4 3 3, joka kasvaa rajatta. Lauseen ehto ei siis täyty eli lauseen vakiota k ei ole Tutkitaan sitten g(x):n toisen version derivaattafunktion itseisarvo: D 5 8 3x = 3 8 3x 4 5. Tämän raja-arvo äärettömyydessä on nolla, joten päätellään, että lauseen vakioksi k kelpaa esimerkiksi 0 tai 0 + ½ = ½ tai jokin muu ykköstä aidosti pienempi vakio. 22(22)