Edellisessä artikkelissa keskityin Iteraatiolista-komennon käyttöön Verhulstin logistisen mallin bifurkaatiokaavion tuottamisen apuna. Tutkitaan Iteraatio ja Iteraatiolista -komentoja hieman tarkemmin.
Käytän tätä kirjoittaessani sekä GeoGebran 5 ja 6 versioita.
yksinkertainen syntaksi
Iteraatio-komennon kielioppi on yksinkertainen: Iteraatio( <Funktio>, <Alkuarvo>, <Iteraatioiden määrä> ). Iteraatiolista toimii samalla tavalla, mutta se palauttaa listan iteroinnin vaiheista. Listan ensimmäinen jäsen on alkuarvo. Niinpä listassa on n + 1 jäsentä, jos n on iteraatioiden lukumäärä. Yleensä näitä komentoja kannattaa käyttää vain Syöttökentän komentoina, varsinkin jos n on iso luku. Komentojen käyttö selvinnee alla olevasta CAS-esimerkistä.
Jos komennot kirjoittaa CAS:iin, niin silloin alkuarvona voi käyttää x:ää.
Iteraatiolista avulla saa aikaiseksi kummallisia kuvioita.
Newtonin menetelmä
Tehdään pieni esimerkki Newtonin menetelmästä. Luodaan ensin liu’ut alkuarvolle ja kierrosten lukumäärälle n.
Määritellään tutkittava funktio ja Newtonin menetelmän iteroitava lauseke.
Lasketaan n ensimmäistä iteraatiota.
Luodaan sopivasti pisteitä ja murtoviiva, jotta saadaan parempi kuva iteraatiosta.
Luodaan piste, joka näyttää iteraation viimeisen vaiheen.
hieman monimutkaisempi kielioppi
Iteraatio-komento toimii myös siten, että muuttujana voi olla jokin GeoGebran olio, ei pelkästään matemaattinen funktio: Iteraatio( <Lauseke>, <Muuttujat>, <Alkuarvot>, <Lukumäärä> ). Alla oleva laskee viidennen Fibonacciluvun.
Tämä syntaksi mahdollistaa vaikkapa derivaattojen ja integraalien iteroinnin.
Kun tätä syntaksia käyttää, niin pitää muistaa, että iteroinnin tulee palauttaa sellainen objekti, joka sopii ensimmäiselle muuttujalle syötteeksi. Fibonacci-esimerkissä ensimmäinen muuttuja on luku (tai itse asiassa kaksi lukua), derivaatta ja integraali -esimerkeissä ensimmäinen muuttuja on GeoGebran funktioihin liittyvä komento.
Seuraavassa esimerkissä Piirtoalueella on suora f ja pisteet C ja D. Komento
Iteraatiolista(Peilaus(Peilaus(p, f), C), p, {D}, 10)
peilaa pisteen D ensin suoran f suhteen ja sitten suhteen pisteen C . Näin syntyy piste, jolle toistetaan nuo peilaukset.
Syntyvien vihreiden pisteiden perusteella vaikuttaa siltä, että kyseiset pisteet ovat kahdella yhdensuuntaisella suoralla. Todista.

Mitäköhän tapahtuu, jos peilauksen järjestystä vaihdetaan? Kokeile itse.
Mandelbrot
Tehdään vielä lopuksi iteraatio, jolla testataan kuuluu piste Mandelbrotin joukkoon. Alkuperäinen piste ei c kuulu Mandelbrotin joukkoon, jos iteroinnin zn+1= zn2 + c, z0 = c raja-arvo on äärettömyydessä. Voidaan osoittaa, että jos iteraation tuottaman kompleksiluvun etäisyys on suurempi kuin 2, niin silloin alkuperäinen piste ei kuulu Mandelbrotin joukkoon. Tehdään ensin Iteraatiolistan pisteistä murtoviiva.
Tehdään uusi versio, jossa alkupiste muuttuu punaiseksi, jos iteroinnin viimeisen kompleksiluvun pituus < 2, eli alkuperäinen piste kuuluu Mandelbrotin joukkoon. Toki noita iterointeja tulisi olla aika paljon enemmän kuin 10, oikeastaan olisi fiksumpi värittää Mandelbrotin joukkoon kuulumattomat pisteet. Tätä versiota en pystynyt tekemään GeoGebra Classic 6:lla :o(
c = 1 + i (tuo i pitää näppäillä Ctrl - i) viim = Iteraatio(c + z², z, {c}, 100) zz = c
Muutetaan vielä zz:n Ominaisuuksista Näytä jälki ja Ominaisuudet -> Lisäasetukset Pituus(viim) < 2.
Kun liikuttaa c-pistettä, niin pikku hiljaa alkaa Mandelbrotin joukko näkyä.
Jos haluaisin tarkemin tutkia Mandelbrotin joukkoa, niin käyttäisin valmiita ohjelmia tai sitten koodaisin itse oman versioni Pythonilla.
Lähteet
Iteraatio-komento GeoGebra manuaalissa
https://wiki.geogebra.org/en/Iteration_Command
Iteraatiolista-komento GeoGebra manuaalissa
https://wiki.geogebra.org/en/IterationList_Command
Newtonin menetelmä appi GeoGebra Materiaaleissa
https://www.geogebra.org/m/cqbaa4eh
Mandelbrotin joukko Wikipediassa
https://fi.wikipedia.org/wiki/Mandelbrotin_joukko