Mitä kaikkea "hauskaa" Excelillä voikaan tehdä

Seuraa 
Viestejä1473
Liittynyt6.6.2009

Mitä mielenkiintoista Excelillä tai muilla taulukkolaskentaohjelmilla voikaan tehdä? Toivoisin vinkkejä hauskoista luonnontieteitä sivuavista simuloinneista tai muista toteutuksista. Itse olen viimeisen kuukauden aikana pohtinut mm. yksiulotteista diffuusiota virtaavassa aineessa ja hiukkasten liikeratoja. Jälkimmäisestä lisää:

Kyhäsin tuossa pari päivää sitten excel-härpäkkeen, jolla voi mallintaa hiukkasten liikeratoja sähköisen vuorovaikutuksen alaisena (vuorovaikutusten samankaltaisuudesta johtuen helppo muokata gravitaatiovuorovaikutuksenkin tarkasteluun), kun niille vain syöttää alkuarvot. Hiukkaselle voi syöttää sijainnin ja alkunopeuden, massan ja varauksen ja se sitten piirtää laskelmiensa mukaan liikeratakäyrää kuvaajiin. Hiukkasten toisiinsa kohdistamat voimat saadaan laskettua hiukkasten sijaintien avulla ajanhetkellä t, voimista päästään kiihtyvyyteen ja kiihtyvyyksistä saadaan laskettua uudet sijainnit ajanhetkellä t +∆t. Oman koneen vääntö ei vain riitä kovin pieniin ∆t:n arvoihin ja elliptisistä kiertoradoista tulee hieman spiraalimaiset.
Hiukkasten välinen vuorovaikutus on Coulombin lain mukainen ja voimat newtonia. Suppean suhtiksen ja muut tarkennukset sivuutan tuossa kylmästi — hyvä niin, koska vain neljänkin hiukkasen suhteellisen tarkka mallintaminen kolmessa ulottuvuudessa näyttää olevan hyvin raskasta koneelle. Koitan tässä päästä uuteen nousuun ja siinä sivussa saada stabiilin vetymolekyylin kasaan.

Hyvää juhannusta!

Sivut

Kommentit (82)

Vierailija
petsku
Mitä mielenkiintoista Excelillä tai muilla taulukkolaskentaohjelmilla voikaan tehdä? Toivoisin vinkkejä hauskoista luonnontieteitä sivuavista simuloinneista tai muista toteutuksista.



En varsinaisesti luonnontieteellistä sovellusta ole viime aikoina tehnyt.

Viimeisin jonka tein on Sudoku -ratkaisija. Syötät Sudoku -tehtävän Excell -ruudokkoon ja painat nappia, ja voilá uuteen taulukkoon ilmestyy Sudoku oikein ratkaistuna! Näppärää. Tein sen harjoituksen vuoksi ja isälleni Sudokujen tarkistamista varten.

Excell on myös näppärä keino kuvaruutukaappausten tallentamisessa. Jos teet esimerkiksi jotain ohjekirjasta, johon tarvitset paljon kuvia vaikkapa käyttöliittymistä, ne on näppärintä välitallentaa jokainen omalle Excell -sheetilleen. Kuvan alle saa selityksen kuvasta.
Kun kaikki kuvat on otettu, ne on näppärä kaikki käsitellä sarjatyönä Photarilla (tai muulla) oikeaan malliinsa. Nopeuttaa työskentelyä, välitallennuksia ei tarvitse tehdä niin paljon, kuvista ja teksteistä saa paljon helpommalla yhtenäisen kokonaisuuden.

petsku
Seuraa 
Viestejä1473
Liittynyt6.6.2009

Niin, pistetäänpäs tähän asti menestyksekkäin yritys stabiilin vetymolekyylin kokoamiseksi esiin x,y-tasossa:

Tykkään (ainakin vielä) toistaiseksi vain kokeilla sopivia alkuarvoja hiukkasille. Voisihan niille toki laskea sopivat energiat, mutta en ole vielä niin vakavissani tämän kanssa.

Ja tosiaan macbook jauhoi tuotakin kurjaa kuvaajaa lähemmäs tunnin...

petsku
Seuraa 
Viestejä1473
Liittynyt6.6.2009

Niin ja olenpa miettinyt sitäkin, että voisi ensi talvena jäällä purjehtiessaan kerätä puhelimen gepsillä sijainti- ja nopeusdataa ja sitten siitä koota excelillä jonkin sortin "tuulimaiseman" tuolle viereiselle lahdelle. Pirun excel ei vain tue x,y,z-scatter chartia.

Kiitos Phony, kun osoitit etten ole ainoa täällä näin juhannuksena!

Vierailija
petsku
Mitä mielenkiintoista Excelillä tai muilla taulukkolaskentaohjelmilla voikaan tehdä? Toivoisin vinkkejä hauskoista luonnontieteitä sivuavista simuloinneista tai muista toteutuksista. Itse olen viimeisen kuukauden aikana pohtinut mm. yksiulotteista diffuusiota virtaavassa aineessa ja hiukkasten liikeratoja. Jälkimmäisestä lisää:

Saanko kysyä, että miksi käytät Excelin kaltaista taulukkolaskentaohjelmaa? Helpommalla pääsisi, kun käyttäisi jotain oikeaa ohjelmointikieltä. Tai no onhan siellä Excelissäkin se VB-härpäke, jolla kai jotain pystyy tekemään. Jokainen itseään kunnioittava fyysikkohan koodaa ohjelmansa Fortranilla . No ei se tietenkään pakko ole, kyllähän C/C++, Java, Python yms. ihan näppäriä myös on, Matlabbia tietenkään unohtamatta.

petsku
Kyhäsin tuossa pari päivää sitten excel-härpäkkeen, jolla voi mallintaa hiukkasten liikeratoja sähköisen vuorovaikutuksen alaisena (vuorovaikutusten samankaltaisuudesta johtuen helppo muokata gravitaatiovuorovaikutuksenkin tarkasteluun), kun niille vain syöttää alkuarvot. Hiukkaselle voi syöttää sijainnin ja alkunopeuden, massan ja varauksen ja se sitten piirtää laskelmiensa mukaan liikeratakäyrää kuvaajiin. Hiukkasten toisiinsa kohdistamat voimat saadaan laskettua hiukkasten sijaintien avulla ajanhetkellä t, voimista päästään kiihtyvyyteen ja kiihtyvyyksistä saadaan laskettua uudet sijainnit ajanhetkellä t +∆t. Oman koneen vääntö ei vain riitä kovin pieniin ∆t:n arvoihin ja elliptisistä kiertoradoista tulee hieman spiraalimaiset.

Heh, ai ihan taulukon solujen välisinä laskutoimituksinako tämän väänsit? No ei kai siinä mitään väärää ole, jotenkin vaan tuntuu että koodaamalla pääsis helpommalla.

petsku
Koitan tässä päästä uuteen nousuun ja siinä sivussa saada stabiilin vetymolekyylin kasaan.

Taitaa 2-body-systeemikin jonkin ajan kuluttua alkaa heittää häränpyllyä, jos normi Eulerin menetelmä on käytössä. Verletillä, Runge-Kuttalla tai vastaavilla saa lisää tarkkuutta diffisyhtälöiden numeeriseen ratkaisemiseen.

Edit: Kappas, kyseessä olikin vetymolekyyli eikä -atomi. No, samapa tuo, 4-body-systeemi nyt ainakin hajoaa käsiin Eulerilla ellei ∆t sitten ole pirun pieni...

petsku
Seuraa 
Viestejä1473
Liittynyt6.6.2009
Kuuba-Pete
Saanko kysyä, että miksi käytät Excelin kaltaista taulukkolaskentaohjelmaa? Helpommalla pääsisi, kun käyttäisi jotain oikeaa ohjelmointikieltä. Tai no onhan siellä Excelissäkin se VB-härpäke, jolla kai jotain pystyy tekemään. Jokainen itseään kunnioittava fyysikkohan koodaa ohjelmansa Fortranilla . No ei se tietenkään pakko ole, kyllähän C/C++, Java, Python yms. ihan näppäriä myös on, Matlabbia tietenkään unohtamatta.

Excel koska en osaa koodata — no vähän juurikin sillä VB:llä, jolla tuskin kuitenkaan mitään tekee. TKK:lla tuntuu olevan surkea kurssitarjonta siinä mielessä, että kursseja järjestetään usein vain joko keväällä tai sitten syksyllä, joten käytännössä syksyllä on liikaa kursseja ja keväällä, kun olisi aikaa, opetusta ei järjestetä. En vain ole vielä saanut alkeiskurssia ahdettua mihinkään väliin. No kesän jälkeen vihdoin aloitan Jaavan tai Pyyttonin perusteilla.
Muutenkin ajattelin tämän ketjun pointiksi sitä, että mitä juuri excelillä, joka on varsin yksinkertainen (ja varsin paska monessakin mielessä), saakaan aikaan. Välillä on hauska ainakin yrittää kiivetä perse edellä puuhun. Niin ja fyysikko en ole, vaan vähän amiksemmalla TKK:n linjalla opiskelen.
Kuuba-Pete
Heh, ai ihan taulukon solujen välisinä laskutoimituksinako tämän väänsit? No ei kai siinä mitään väärää ole, jotenkin vaan tuntuu että koodaamalla pääsis helpommalla.

Juurikin niin. Yllätyin, että tuo edes toimi, kun kuitenkin tässä kaikki-vaikuttaa-kaikkeen. Siis kun hitunen liikkuu uuteen paikkaan, niin se vaikuttaa toiseen ja muuttaa sen paikkaa, mikä taas vaikuttaa siihen ensimmäiseen jne.
Kuuba-Pete

Taitaa 2-body-systeemikin jonkin ajan kuluttua alkaa heittää häränpyllyä, jos normi Eulerin menetelmä on käytössä. Verletillä, Runge-Kuttalla tai vastaavilla saa lisää tarkkuutta diffisyhtälöiden numeeriseen ratkaisemiseen.

Tutustun näihin sitten, kunhan ensin opin koodaamaan.

Heksu
Seuraa 
Viestejä5463
Liittynyt16.3.2005
Kuuba-Pete
Saanko kysyä, että miksi käytät Excelin kaltaista taulukkolaskentaohjelmaa? Helpommalla pääsisi, kun käyttäisi jotain oikeaa ohjelmointikieltä.



Ehkä juuri siksi? Vuorten huipullekin pääsee paljon helpommin helikopterilla, mutta kiipeäminen on paljon jännempää.

petsku
Seuraa 
Viestejä1473
Liittynyt6.6.2009
Heksu
Kuuba-Pete
Saanko kysyä, että miksi käytät Excelin kaltaista taulukkolaskentaohjelmaa? Helpommalla pääsisi, kun käyttäisi jotain oikeaa ohjelmointikieltä.



Ehkä juuri siksi? Vuorten huipullekin pääsee paljon helpommin helikopterilla, mutta kiipeäminen on paljon jännempää.

Tai esimerkiksi Kuusamoon pääsee autolla, mutta aina löytyy yksi idiootti, joka menee pienoiskaivurilla.

Vierailija

Jahas; ohjelmointimiehet lyttäävät taulukkolaskentaohjelman mennen tullen. Aika moni kuitenkin käyttää ohjelmaa työssään hyödyntäen sen tarjoamia mahdollisuuksia. Ei liene mitään estettä käyttää luovuutta sen ominaisuuksia hyödyntäen.

Neutroni
Seuraa 
Viestejä23519
Liittynyt16.3.2005
Lepakko
Jahas; ohjelmointimiehet lyttäävät taulukkolaskentaohjelman mennen tullen. Aika moni kuitenkin käyttää ohjelmaa työssään hyödyntäen sen tarjoamia mahdollisuuksia. Ei liene mitään estettä käyttää luovuutta sen ominaisuuksia hyödyntäen.



Taulukkolaskentaa käytetään taulukkomuotoisen datan käsittelyyn. Aika harvassa ovat ne, jotka laskevat Excelillä fysikaalisia simulaatioita. Toki se on mahdollista, mutta se on mielenkiintoista nimenomaan "mitä excelillä voi tehdä" -näkökulmasta, ei niinkään "mitä simulaatiossa tapahtuu" -näkökulmasta.

C:llä tuo neljän kappaleen systeemin lasku menisi sekunnissa. Klassinen kolmen tai useamman varatun kappaleen systeemi ei sitten ole stabiili, joten systeemin hajaantuminen ei johdu ohjelmointivirhestä. Molekyylien mallintamiseen tarvitaan välttämättä kvanttimekaniikkaa. Siinä sitten seuraava haaste, vetymolekyylin energiatilojen lasku Excelillä. Haastetaso on kyllä melkoisen korkea, niin matematiikan kuin ohjelmoinnin puolesta.

C-kääntäjiä saa ainakin ilmaiseksi Windowsiin ja Linuxiin. Se on muutenkin yleinen ja yleiskäyttöinen kieli, vaikka onkin viime aikoina ehkä menettänyt hieman asemiaan.

Vierailija
Lepakko
Jahas; ohjelmointimiehet lyttäävät taulukkolaskentaohjelman mennen tullen. Aika moni kuitenkin käyttää ohjelmaa työssään hyödyntäen sen tarjoamia mahdollisuuksia. Ei liene mitään estettä käyttää luovuutta sen ominaisuuksia hyödyntäen.

Noh, lyttääminen nyt on ehkä vähän kova ilmaisu, siitä ei ollut kyse. Mutta ainakaan itselläni ei ihan ensimmäiseksi tulisi mieleen alkaa vääntää partikkelisimulaattoria Excelillä vaan mieluummin jollain oikealla ohjelmointikielellä...

Vierailija
petsku
Kuuba-Pete
Heh, ai ihan taulukon solujen välisinä laskutoimituksinako tämän väänsit? No ei kai siinä mitään väärää ole, jotenkin vaan tuntuu että koodaamalla pääsis helpommalla.

Juurikin niin. Yllätyin, että tuo edes toimi, kun kuitenkin tässä kaikki-vaikuttaa-kaikkeen. Siis kun hitunen liikkuu uuteen paikkaan, niin se vaikuttaa toiseen ja muuttaa sen paikkaa, mikä taas vaikuttaa siihen ensimmäiseen jne.

Niin, diffisyhtälöillähän näitä riippuvuuksia on kaikista helpointa kuvata. Useimmiten klassisen fysiikan mukaisissa partikkelisimulaatioissa hitujen paikat ajan funktiona tallennetaan vektoreiksi, jotka on diskretoitu aika-askeleen suuruuden perusteella. Reaaliaikaisessa simulaatiossa tosin ei pahemmin tarvitse moisia vektoreita tallennella.

Systeemin ratkaisu ajan funktiona sitten riippuu paitsi diffisyhtälöiden muodosta (eli voimien lausekkeista), myös annetuista alkuarvoista, ja monen partikkelin systeemeissä "havaitut" korrelaatiot muodostuvat yleensä hyvin monimutkaisiksi eikä niille analyyttistä lauseketta edes löydy.

petsku
Kuuba-Pete
Taitaa 2-body-systeemikin jonkin ajan kuluttua alkaa heittää häränpyllyä, jos normi Eulerin menetelmä on käytössä. Verletillä, Runge-Kuttalla tai vastaavilla saa lisää tarkkuutta diffisyhtälöiden numeeriseen ratkaisemiseen.

Tutustun näihin sitten, kunhan ensin opin koodaamaan.

Kannattaa kyllä korvata tuo Eulerin menetelmä vähintäänkin Verletin menetelmällä ja sassiin, ei todellakaan vaadi suuria ponnisteluja. Eulerissa virhe on O(∆t), kun Verletissä se on O(∆t^4). Jos tarvitset nopeuksia, niin kannattaa käyttää "Velocity Verlet" -menetelmää, jossa nopeuden virhe pienenee verrattuna normi Verlettiin. Molekyylisimulaatioissa käytetään ihan aikuisten oikeastikin Verletiä tai Velocity Verletiä.

Runge-Kutta-menetelmät (yleensä RK4) ovat vielä edellisiä parempia, mutta jos sellaista alkaa Excelin soluhelvettiin vääntää, niin ei siinä mene muuta kuin hermot.

Vierailija
petsku
Niin, pistetäänpäs tähän asti menestyksekkäin yritys stabiilin vetymolekyylin kokoamiseksi esiin x,y-tasossa:

Tykkään (ainakin vielä) toistaiseksi vain kokeilla sopivia alkuarvoja hiukkasille. Voisihan niille toki laskea sopivat energiat, mutta en ole vielä niin vakavissani tämän kanssa.

Ja tosiaan macbook jauhoi tuotakin kurjaa kuvaajaa lähemmäs tunnin...


Huhhuh, vai että lähemmäs tunnin jauhoi tuota... Minkä suuruista aika-askelta oikein käytät? Kyllä tuollaisen laskemisen (ns. oikealla tuloksella) pitäisi hoitua koneella kuin koneella sekunnin murto-osissa. Koitapa sitä Verlettiä ja kasvata aika-askelta ihan reippaasti suuremmaksi...

petsku
Seuraa 
Viestejä1473
Liittynyt6.6.2009
Kuuba-Pete
Kannattaa kyllä korvata tuo Eulerin menetelmä vähintäänkin Verletin menetelmällä ja sassiin, ei todellakaan vaadi suuria ponnisteluja. Eulerissa virhe on O(∆t), kun Verletissä se on O(∆t^4). Jos tarvitset nopeuksia, niin kannattaa käyttää "Velocity Verlet" -menetelmää, jossa nopeuden virhe pienenee verrattuna normi Verlettiin. Molekyylisimulaatioissa käytetään ihan aikuisten oikeastikin Verletiä tai Velocity Verletiä.

Kiitoksia vinkistä. Näköjään minulla ei olekaan Eulerin menetelmän mukainen tuo, vaan oikeastaan noiden välimuoto. Eli näin: x_(n+1) = x_n + v_n *t + 1/2*a_n *t^2.
Kuuba-Pete
Huhhuh, vai että lähemmäs tunnin jauhoi tuota... Minkä suuruista aika-askelta oikein käytät? Kyllä tuollaisen laskemisen (ns. oikealla tuloksella) pitäisi hoitua koneella kuin koneella sekunnin murto-osissa. Koitapa sitä Verlettiä ja kasvata aika-askelta ihan reippaasti suuremmaksi...

Aika askeleen suuruus on 0,01 yksikköä, 0,1:llä olivat ellipsiradat jo hävyttömän spiraaleja. Tällä kun ei ole minulle juuri käytännön merkitystä, niin eipä paljoa haittaa, vaikka koneen toinen suoritinydin jauhaakin taustalla. Olenpahan mukana luomassa markkinoita lisäydinvoimalle.
Coulombin vakion olen korvannut ykkösellä ja massat 1 ja 2000 yksikköä, varaukset tietysti ±1.

Neutroni
Seuraa 
Viestejä23519
Liittynyt16.3.2005
petsku
Aika askeleen suuruus on 0,01 yksikköä, 0,1:llä olivat ellipsiradat jo hävyttömän spiraaleja.



Kai teet niin, että lasket yhden aika-askeleen ainana ensin kaikki kiihtyvyydet ja siirrät hiukkasia vasta sitten. Itse joskus Amiga-aikana opin tuon kantapään kautta, kun tein simulaation ensin niin, että hiukkasta siirretään heti kun siihen vaikuttava voima on laskettu ja muiden hiukkasten kanssa käytetään sitten uutta sijaintia. Se johti pahaan spiraalinmuodostukseen. Varsinkin planeettojen kuut eivät tahtoneet pysyä radallaan yhtä planeetan kierrosta.

Mutta muista, että stabiilia et siitä systeemistä klassisella mallilla saa.

Sivut

Uusimmat

Suosituimmat