Iteraatio-komennot GeoGebrassa – Newtonin menetelmä

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

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggaajaa tykkää tästä: