Kun GeoGebran listoista poimitaan yksittäisiä tai useampia jäseniä, niin kannattaa käyttää Alkio-komentoa. Tutkitaan joitakin tapoja, miten Alkio-komentoa ja muutamaa muuta komentoa voi käyttää hyväksi listojen käsittelyssä. Listan yhden alkion poimiminen tulee tarpeelliseksi, kun GeoGebran tuottamista ratkaisuista halutaan valita vain yksi, vaikkapa lopullista arvojen sijoittamista varten tai kun haluan kopioida vastauksen LaTeX-koodin kaavaeditoriin. Artikkelin lopussa on linkki aiempiin kirjoittamiini lista-juttuihin.
määritelmä
Alkio(Element)-komennon syntaksi on Alkio( <Lista>, <Alkion sijainti> ) tai Alkio( <Matriisi>, <Rivi>,<Sarake> ). Tätä kirjoitettaessa huomasin, että GeoGebran tarjoamassa komennossa <Rivi> ja <Sarake> ovat väärin päin suomenkielisessä käännöksessä. Korjasin tämän käännökseen, se tullee näkyviin tulevissa versioissa.
N-ulotteisessa avaruudessa syntaksi on Alkio( <N-Lista>, <Indeksi1>, <Indeksi2>,…,<IndeksiN> ).
GeoGebra 5:ttä lukuun ottamatta GeoGebrassa toimii Alkio-komennon lyhennetty versio eli komento
Alkio(lista, 3)
on sama kuin
lista(3)
Tämä merkitsemistapa on todella kätevä ja se tekee listojen käsittelystä tutumman näköistä vaikkapa Pythonia harrastaneille.

yksinkertainen esimerkki
Teen esimerkit GeoGebra 5:n CAS:issa. Samat komennot toimivat myös syöttökentässä ja muissa GeoGebra-versioissa. Käytetään esimerkkinä seuraavaa listaa.
lista:={ℯ, 42/13, π, 666} ->lista:={ℯ, 42 / 13, π, 666}
Kolmas alkio π saadaan komennolla
lista:={ℯ, 42 / 13, π, 666} -> π
Ensimmäinen(First) ja Viimeinen(Last) -komennot tuottavat tulokseksi listoja, niinpä niitä ei juurikaan tule käytettyä.
Ensimmäinen(lista) -> {ℯ} Viimeinen(lista) -> {666}
Oikeapuoli ja Ratkaise -komennot
Tuotetaan seuraavaksi kultaisen leikkauksen luku toisen asteen yhtälön ratkaisuna käyttämällä yhtälön kirjoittamisen jälkeen Ratkaise yhtälö -työkalua tai komennolla
Ratkaise(x^2 -x-1=0) -> {x = ((-sqrt(5)) + 1) / 2, x = (sqrt(5) + 1) / 2}
Ratkaise(Solve)-komento tuottaa listan, jossa on kaksi alkioita. Ratkaisut ovat GeoGebran mielessä yhtälöitä. Jälkimmäinen yhtälö saadaan komennolla
Alkio({x = (-sqrt(5) + 1) / 2, x = (sqrt(5) + 1) / 2}, 2) -> x = (sqrt(5) + 1) / 2
Yhtälön oikea puoli OikeaPuoli(RightSide)
OikeaPuoli( x = (sqrt(5) + 1) / 2 ) -> (sqrt(5) + 1) / 2
Toisaalta, jos olisi halunnut alkuperäisen yhtälön molemmat ratkaisut kerralla, niin tämäkin toimii
OikeaPuoli(Ratkaise(x^2 -x-1=0)) -> {((-sqrt(5)) + 1) / 2, (sqrt(5) + 1) / 2}
Jos haluaa tarkistaa vastauksen sijoittamalla alkuperäiseen lausekkeeseen, niin
f(x):=x^2 -x-1 -> f(x):=x^(2) - x - 1 f({(-sqrt(5) + 1) / 2, (sqrt(5) + 1) / 2}) -> {0, 0}
OikeaPuoli-komennolla voi myös määrittää halutun yhtälön järjestysluvun yhtälölistassa tyyliin
OikeaPuoli({x=1, y=π,z=-π},2) -> π
Ratkaisut-komento & bugi
Mikäli haluaa saada ratkaisut pelkkinä arvoina, eikä yhtälöinä, niin kannattaa käyttää Ratkaisut(Solutions)-komentoa. Merkitsen seuraavassa ratkaisulistaa nimellä rat.
rat:=Ratkaisut(f(x)=0) -> rat:={((-sqrt(5)) + 1) / 2, (sqrt(5) + 1) / 2}
Lukija voi pohdiskella kynällä ja paperilla miksi
f(1/rat^2)+f(rat^2) -> {2, 2} f(1/rat)-f(1/rat^2) -> {0, 0}
tai vaikkapa antaa sievennykset lapsille kotitehtäväksi.
Tehdään yhtälöpari ja ratkaistaan se Ratkaise ja Ratkaisut -komennoilla. Annan yhtälöille nimet, jotta CAS-rivit pysyvät luettavina.
eq1:= (y=f(x)) -> eq1: y = x^(2) - x - 1 eq2:= (y=2x-1) -> eq2: y = (2 * x) – 1 Ratkaise({eq1, eq2}) -> {{x = 0, y = -1}, {x = 3, y = 5}}
Kun käyttää Ratkaisut-komentoa tuleekin pieni yllätys.

Jos komentoon ei lisää muuttujalistaa niin ratkaisumatriisissa vasen sarake onkin y ja oikea sarake x. Tämä taitaa olla bugi.
Matriisissa alkion poimimisen syntaksi on Alkio(<Matriisi>, <Rivi>, <Sarake>), niinpä edellisen ratkaisun ensimmäisen ratkaisun toinen arvo eli y:n arvo saadaan
Alkio( {{0, -1}, {3, 5}}, 1,2) -> -1
Moniulotteisissa listojen listoissa poimiminen tapahtuu samalla logiikalla. Koska en ole niitä itse koskaan tarvinnut, jätän niiden tutkimisen lukijalle.
Alkioiden sijoittamisesta, järjestelystä yms. komennoista olen aiemmin kirjoittanut Listat GeoGebrassa -artikkelissa.
Linkit
Aiempia artikkeleita. Kolme ensimmäistä on julkaistu myös Dimensiossa.
Ohjesivuja GeoGebra-Wikissä
One Reply to “Arvojen poimiminen listoista ja yhtälön ratkaisuista GeoGebrassa”