Re: MAT #TRANSFORM

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

Etusivu  |  Keskustelu
Copyright © Survo Systems 2001-2013. All rights reserved.
Updated 2013-06-15.