Munaongelma

Julkaisin tämän noin 2012 rikki menneessä blogissani. Jaan tämän oppilailleni, jotta he saavat ajankulua.

Laitat kattilaan vettä ja pari munaa. Lisäät sinne yhden munan. Vedenpinta nousee. Mikä olisi pienin määrä vettä, jotta viimeisen munan lisäyksen jälkeen munat jäävät kokonaan veden alle.

Ongelma 1. Oletetaan, että kananmunat ovat pallon muotoisia ja niiden säde on r. Kattila on lieriö, jonka pohjan säde on R. Jos munia on n kappaletta (esim. 2), niin kuinka korkealla veden pitää olla (x), jotta kun n+1:s (esim. 3.) muna laitetaan veteen, niin kaikki munat peittyvät. Oletetaan, että kaikki munat mahtuvat kattilaan siten, että niiden pohja osuu kattilan pohjaan.

Ongelma 2. Laitat munan (säde r) kattilaan (säde R). Lisäät sinne vettä tilavuuden x. Määritä veden korkeus h(x) tilavuuden x funktiona. Tai toisinpäin tiavuus V(h) korkeuden h funktiona.

Fyysikko tietysti laittaa munat ensin kattilaan ja lisää sitten veden. Matemaatikko tekee tästä laskettavan ongelman :o)

Juna-ongelman perinteinen ratkaisu

Esitin ongelman artikkelissa Metropallo-ongelma En laita tehtävän antoa tänne näkyville. Niinpä oppilaillani on hieman vaikeampi löytää tätä ratkaisua.

Ratkaisu

Tässä ongelman perinteinen säilymislakeihin ja yhtälön ratkaisuun perustuva ratkaisu.

Oletetaan, että junan massa on M ja pallon massa m. Junan nopeus on V ja pallon -v. Tutkitaan aluksi täysin kimmoisaa yksiulotteista törmäystä. Junan nopeus törmäyksen jälkeen on U ja pallon u.

Kirjoitan ratkaisun GeoGebra 5:n (5.0.570) CAS:iin. Huomaa, että välilyönti muuttujien välissä tarkoittaa kertolaskua.

Liikemäärän ja liike-energian säilymislait tuottavat yhtälöt:

M V – m v = M U + m u
1/2 M V^2 +1/2 m v^2 =1/2 M U^2 +1/2 m U^2

U ja u saadaan ratkaistua komennolla

Ratkaise({$1,$2}, {U, u})
Kuva, joka sisältää kohteen näyttökuva

Kuvaus luotu automaattisesti

Ratkaisuisiksi tulee kaksi (U, u) arvoa. Ensimmäinen ratkaisu tarkoittaa sitä tilannetta, että pallo menee junan läpi, tällöinkin liikemäärä ja liike-energia säilyvät. Toinen tapaus on realistisempi, se saadaan irti listasta komennolla

Alkio($3,2)

Oletetaan, että junan massa on suuri, vaikkapa 10000 kg ja pallon massa pieni, vaikkapa 0.1 kg. Sijoitetaan arvot Sijoita työkalulla.

Alla Sijoita-työkalun Ikkuna.

Vaikuttaa siltä, että tässä tapauksessa pallon nopeus noin viisinkertaistui eli on lähellä arvoa 25 km/h.

Kuvaaja

Tämä luku on tässä sen takia, että satuin leikkimään kuvaajilla raja-arvoa etsiessäni ja tuo suora ja ellipsi juolahtivat mieleeni.

Kun alkuperäistä yhtälöparia katsoo syvällisemmin ja muuttaa U:n x:ksi ja u:n yksi, niin havaitsee, että liikemäärän säilymislaki tuottaa suoran ja liike-energian yhtälö ellipsin yhtälön. Yksinkertaistetaan tilannetta siten, että M = 100 ja m = 10, näin saadaan simppelimmät kuvaajat eikä tarvitse välittää skaalaamisesta.  

Kuva, joka sisältää kohteen näyttökuva

Kuvaus luotu automaattisesti

Kuvaaja näyttää ratkaisut suoran ja ellipsin leikkauspisteenä.

Muuttamalla liu’un avulla M:n arvoa ja tutkimalla ratkaisupisteen jättämää jälkeä, voisi päästä myös kiinni raja-arvon lukuarvoon. Jätän tämän harjoitustehtäväksi.

Raja-arvo

Tutkitaan pallon nopeuden lausekkeen raja-arvoa, kun M kasvaa suureksi tai m lähestyy nollaa. Nopeuden lausekkeen käyttöön saa ehkä mukavimmin käyttämällä komentoja, jotka muokkaavat 4. solun ratkaisua.

Ratkaisu:=Alkio($4,2)
Nopeus:=OikeaPuoli(Ratkaisu)
RajaArvo(Nopeus, M, Infinity)
Kuva, joka sisältää kohteen näyttökuva

Kuvaus luotu automaattisesti

Perinteisellä laskennolla tuon edellisen tuloksen saa, kun jakaa Nopeus-lausekkeen osoittajan ja nimittäjän M:llä ja havaitsee, että m/M lähestyy nollaa kun M lähestyy ääretöntä.

GeoGebralla tuon osoittajan jakamisen M:llä olisi saatu aikaiseksi seuraavasti.

Kuva, joka sisältää kohteen näyttökuva

Kuvaus luotu automaattisesti

Vastaavalla tavalla nimittäjä

Kuva, joka sisältää kohteen näyttökuva

Kuvaus luotu automaattisesti

Niinpä u = 2 V + v, kun M on iso ja m pieni.

Huomasinpa, että ExpandOnly-komentoa ei löydy suomeksi. Pitääpä selvittää, miksi sitä ei voi kääntää.

Lopuksi

Jätän realistisemman kimmottoman ja 3D maailmassa tapahtuvan törmäyksen tutkimisen alan harrastajille.

Tulevassa tarinassa esitän yksikertaisemman koordinaattimuunnoksiin perustuvan ratkaisun u = 2V + v lausekkeelle.

Carrollin taikatempun tutkistelua

Edellisessä tarinassani https://mikonfysiikka.wordpress.com/2019/12/17/lewis-carrollin-taikatemppu/ kerroin Lewis Carrollin taikatempusta. Tempussa valitaan jokin salainen luonnollinen luku a. Sen jälkeen luvulle suoritetaan erilaisia laskutoimituksia, näiden lopputulokset ovat b, c, …, h ja i. Taikurille kerrotaan alkuperäisen luvun a ja kolmannen c luvun parillisuudesta ja saatu viimeinen luku i. Taikuri pystyy parin laskutoimituksen avulla päättelemään alkuperäisen luvun a.

Ongelman määrittely

Minua kiinnostaa onko ongelma yksikäsitteinen siinä mielessä, että tuottaako taikatempun algoritmi yksikäsitteiset lopputulokset. Tietysti minua kiinnostaa myös millaisen kuvan saan aikaiseksi kolmiulotteiseen avaruuteen. Jos olet jaksanut lukea edes tähän saakka, niin  ymmärrät, että tämä menetelmä ei ole matemaattinen todistus, tässä tutkitaan ”kokeellisesti” matemaattista ilmiötä.

Merkitään alkuperäisen luvun n jakojäännöstä kahdella jaettaessa aa:lla ja luvun c (eli kolmas luku taikatempussa, kun ensimmäinen luku on n) jakojäännöstä kahdella jaettaessa cc:llä. Olkoon N luonnollisten lukujen joukko ja joukko CC algoritmin tuottamien pisteiden (aan, ccn, in) joukko, missä n on luonnollinen luku..

Haluan siis tietää vastaako jokaista luonnollista lukua n, joukon CC:n piste (in, aan, ccn) ja päinvastoin eli onko kuvaus N -> CC bijektio.

Satunnaisuus

Taikatempussa on vaiheita, jossa voidaan valita eri lukuja tyyliin

  • Jos b on
    • pariton, niin lisää joko 5 tai 9. Jaa luku kahdella ja lisää 1. Annetaan luvun nimeksi c.
    • parillinen, niin vähennä siitä 2 tai 6, jaa luku kahdella ja sitten lisää 29 tai 33 tai 37. Annetaan luvulle nimeksi c.

Yksinkertaistan ongelmaa siten, että jätän eri vaihtoehtojen tutkimisen tulevaan artikkeliin, niinpä valitsen taikatempun vaihtoehdoista aina pienimmän luvun tässä tarinassa. Eli edellinen kohta on tässä jutussa:

  • Jos b on
    • pariton, niin lisää 5. Jaa luku kahdella ja lisää 1. Annetaan luvun nimeksi c.
    • parillinen, niin vähennä siitä 2, jaa luku kahdella ja sitten lisää 29. Annetaan luvulle nimeksi c.

Suunnitelma

Ajatuksena on tuottaa GeoGebra 6:lla (onnistuu myös GeoGebra 5:llä ja GeoGebra 3D:llä) sovellus, jossa luodaan funktio c7(x), joka laskee taikatempun algoritmin tuottaman lopullisen luvin i. Koska GeoGebrassa ei voi rajoittaa lähtöjoukkoa vain luonnollisiksi luvuiksi, pitää ottaa huomioon kaikki reaaliluvut x ≥ 0. Tuotetun funktion ja lukujen a ja c parillisuuden avulla tuotetaan taulukkolaskennan avulla 3D pisteet. Nämä yhdistetään janoilla alkuperäisiin a arvoihin. Näin saadaan kuva kuvauksesta.

Kirjoitan komennot GeoGebra 6:n syöttökenttään.

Parillisuusfunktio

GeoGebralla voidaan luvun n parillisuus selvittää käyttämällä jakojäännöstä komennolla mod(n, 2). Esimerkiksi mod(13, 2) antaa tulokseksi 1.

Valitettavasti komento mod(x, 2) ei tuota funktiota. Niinpä tarvitsen funktion, joka antaa arvoksi 0, jos annetun luvun kokonaisosa on parillinen ja 1 jos se on pariton. Funktion luonti onnistuu käyttämällä floor-komentoa, joka tuottaa arvoksi luvun kokonaisosan. Esimerkiksi floor(13.6) tuottaa arvoksi 13. Muutaman kokeilun jälkeen havaitsin, että seuraava toimii. Määritellään syöttökentässä funktio

paril(x) = floor(2 (x / 2 - floor(x / 2)))
Kuva, joka sisältää kohteen sisä, shoji

Kuvaus luotu automaattisesti

Carroll-funktio

Muutetaan taikatempun laskutoimitukset funktioiksi. Ohjeen resepti b tuottaa funktion c1(x) ja c vastaavasti c2(x) ja niin edelleen. Viimeinen kohta ohjeessa eli i on funktio c7(x). Kirjoitetaan syöttökenttään komennot:

c1(x) = 3 x
c2(x) = Jos(paril(c1(x)) == 1,(c1(x)+5)/(2)+1,(c1(x)-2)/(2)+29)
c3(x) = 3 c2(x)
c4(x) = Jos(paril(c3(x)) == 1,(c3(x)+5)/(2)+1,(c3(x)-2)/(2)+29)
c5(x) = (x+19)*10+c4(x)
c6(x) = floor(c5(x)/7)
c7(x) = floor(c6(x)/7)

GeoGebra sieventää sisäkkäisten funktioiden lausekkeet, näin ollen funktion c7 lauseke on aika monimutkaisen näköinen.

Kuva, joka sisältää kohteen näyttökuva

Kuvaus luotu automaattisesti

Tietysti kuvaajakin on aika eksoottinen.

3D-pisteet taulukkolaskennalla

Lasketaan muutamia funktion c7 arvoja luonnollisilla luvuilla. Samalla lasketaan ensimmäisen luvun a ja kolmannen luvun c eli funktion c2 arvojen parillisuus. Teen tämän taulukkolaskennalla, jotta näen luvut rinnakkain, näin minun on helpompi pohdiskella lukujen yhteyksiä toisiinsa.

Kirjoitetaan taulukkolaskennan soluihin A1, …, A4 otsikot: ”x”, aparil, c2paril ja ”c7”. Kirjoitetaan soluun A2 luku 0 ja soluun A3 luku 1. Valitaan alue A2:A3 ja luodaan sarake luonnollisia lukuja 0, …, 50 kahvasta vetämällä. Soluihin B2, …, B4 kirjoitetaan kaavat:

=paril(A2)
=paril(c2(A2))
=c7(A2)

Valitaan alue B2:B4 ja monistetaan kaavat alaspäin kahvalla vetämällä.

Tuota taulukkoa tutkiskelemalla voi pohdiskella millainen säännönmukaisuus lukujonoilla on. Palaan tähän asiaan luultavasti tulevassa artikkelissa.

3D-kuvaajaa varten luodaan kaksi pistelistaa. Aluksi kannattaa valita Piirtoalueen asetuksista Nimeäminen: Nimeäminen pois. Näin pisteiden nimet eivät tule näkyviin 3D piirtoalueelle.  Valitaan alue B2:D32 ja Luo lista -työkalua painamalla valitaan työkalu Luo pistelista. Annetaan listalle nimeksi l1.

Kun testasin komentoja GeoGebra3D:llä, jossa ei ole taulukkolaskentaa käytössä, niin loin l1-listan Jono-komennolla:

l1=Jono((paril(nn),paril(c2(nn)),c7(nn)),nn,0,30)

Luvut 0, …, 30 saadaan pisteiksi 3D-avaruuteen kirjoittamalla syöttökenttään

l2 = Jono((n, 0, 0), n, 0, 30)

Luodaan janat muuttujan arvojen pisteiden ja niiden arvoja vastaavien pisteiden välille. Eli periaatteessa hahmotetaan kuvausta n -> (aan, ccn, in).

Tämän tyyppinen asia kannattaa tehdä Zip-komennolla, toki jono-komennollakin janojen piirto onnistuu.

l3 = Zip(Jana(n, m), n, l1, m, l2)

3D-piirtoalueelle ilmestyvät janat pistelistojen alkioiden välille. Akseleiden skaalausta saa muutettua painamalla Vaihto-näppäimen pohjaan ja vetämällä koordinaattiakseleista. Kuviota saa liikutettua tasossa Vaihto-näppäintä pohjassa siirtelemällä.

Vaikuttaa siltä, että jokaista luonnollista lukua n vastaa yksikäsitteinen piste taikatempun funktioiden tuottama piste (aan, ccn, in). Ja myös päinvastoin, eli jokaista (aan, ccn, in) pistettä vastaa yksikäsitteinen luonnollinen luku n.

Jätän asian täsmällisen matemaattisen todistamisen lukijalle.

Lähteet

Edellinen artikkelini aiheesta: Lewis Carrollin taikatemppu https://mikonfysiikka.wordpress.com/2019/12/17/lewis-carrollin-taikatemppu/

Futility Closet artikkeli: A Late Carroll Game https://www.futilitycloset.com/2019/07/14/a-late-carroll-game/

GeoGebra 3D -appletti liu’un avulla tuotettuna : https://www.geogebra.org/3d/fsa27rx7

Tämän artikkelin esimerkki GeoGebra 6:lla: https://www.geogebra.org/m/zpbkxeh9