[vastaus aiempaan viestiin]
Kirjoittaja: | Seppo Mustonen |
---|---|
Sähköposti: | - |
Päiväys: | 22.2.2008 17:43 |
Tässä on pieni esimerkki MAT #TRANSFORM -sovelluksesta, jossa kolikkoa heitetään miljoona kertaa. Olen samalla mitannut suoritusajat koneellani käyttäen jatkuvaa aktivointia (F2 ESC) komennosta TIME COUNT START alkaen. n=1000000 TIME COUNT START MAT Heitot=ZER(n,1) MAT CLABELS "X" TO Heitot MAT #TRANSFORM Heitot BY if(rand(2008)<0.5)then(1)else(0) TIME COUNT END 4.453 Miljoonan heiton sarjan (1=kruuna, 0=klaava) muodostaminen matriisi- tiedostoon Heitot.MAT vei siis noin 4.5 sekuntia. Tulosten taulukointi TAB-komennolla ottaa tähän verrattuna paljon aikaa: TIME COUNT START TAB Heitot.MAT,CUR+3 / VARIABLES=X1 X1=-1,0,1 TIME COUNT END 45.873 TABLE Heitot.MAT1 A,B,F N=1000000 X1 * 0 500233 1 499767 MINSTAT sen sijaan on ketterä, koska siinä ei mm. tutkiskella mitään luokkarajoja jne., mitä TAB hyvin yleisenä ohjelmana joutuu tekemään. TIME COUNT START MINSTAT Heitot.MAT,CUR+3 / VARS=X1 TIME COUNT END 4.689 Basic statistics of data Heitot.MAT N=1000000 Variable mean stddev N minimum maximum X1 0.499767 0.500000 1000000 0.000000 1.000000 Tästä aukeaa sama tulos kuin mitä saatiin TABilla. * * * Hyvä keino hankkia kokemusta Petrin kysymistä asioista on käydä läpi Survon suomenkielisestä opetussarjasta kohta "Todennäköisyyslaskentaa" ja siellä mm. allamainitut jaksot: DEMO -> OPETUS -> 7. Matemaattiset toiminnat -> 6. Todennäköisyyksien laskentaa -> 2. Oikean kolikon tunnistaminen 3. Toistokokeen tunnistaminen - Seppo
Vastaukset: |
---|
Survo-keskustelupalstan (2001-2013) viestit arkistoitiin aika ajoin sukrolla, joka automaattisesti rakensi viesteistä (yli 1600 kpl) HTML-muotoisen sivukokonaisuuden. Vuoden 2013 alusta Survo-keskustelua on jatkettu entistäkin aktiivisemmin osoitteessa forum.survo.fi. Tervetuloa mukaan!