[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!