Re: Simulointiongelma

[vastaus aiempaan viestiin]

Kirjoittaja: Seppo Mustonen
Sähköposti:    -
Päiväys: 4.9.2005 18:16

Valitan, että muiden rientojen vuoksi en ole ehtinyt vastata,
mutta tässä eräs ehdotus.
Vaatimuksesi
> Esimerkiksi kymmenen lukua, joiden summa on 5 ja
> vaihteluväli [2.5,7.5]. Miten sen voisi tehdä?
on mahdoton koska pienimmilläänkin summa olisi 10*2.5=25>5, mutta
tarkoittanet summan asemasta keskiarvoa.

Siinäkään muodossa tehtävä ei ole aivan helppo, jos vaatii
samanaikaisesti esim. jakauman aidosti tasaiseksi välillä [2.5,7.5] ja
keskiarvoksi tasan 5.

Suuremmitta miettimisittä ajattelen, että voisit tyytyä lukuihin,
jotka ovat tarkkaan muotoa 2.5,2.6,2.7,2.8,2.9,3.0,3.1,...,7.3,7.4,7.5.

Tässä on silloin tehoton mutta mielestäni toimiva ratkaisu.
Tilaa sekä nopeuttahan koneista nykyisin löytyy!

.....................................................

*Tehdään tiedosto K10, johon tilaa 100000 havainnolle:
*FILE MAKE K10,11,100000,X,4
*
*FILE UPDATE K10
*File with 11 fields and 10000 cases created by FILE MAKE
*FIELDS: (active)
*   1 NA_   4 X1      (#.#)
*   2 NA_   4 X2      (#.#)
*   3 NA_   4 X3      (#.#)
*   4 NA_   4 X4      (#.#)
*   5 NA_   4 X5      (#.#)
*   6 NA_   4 X6      (#.#)
*   7 NA_   4 X7      (#.#)
*   8 NA_   4 X8      (#.#)
*   9 NA_   4 X9      (#.#)
*  10 NA_   4 X10     (#.#)
*  11 NA_   4 Mean    (##.##)
*END
*
*
*Lasketaan em. tasaisesti jakautuneita lukuja X1,X2,...,X10:
*MASK=AAAAAAAAAA-
*TRANSFORM K10 BY int(25+51*rand(123456))/10
*
*Lasketaan lukujen keskiarvo muuttujaksi Mean:
*VARSTAT K10,Mean,MEAN
*....................................................
*Otetaan kenttään näyte tiedoston sisällöstä:
*IND=ORDER,1,10
*FILE LOAD K10
*DATA K10*,A,B,C
C  X1  X2  X3  X4  X5  X6  X7  X8  X9 X10  Mean
A 5.0 4.7 4.4 5.8 3.0 3.1 5.9 6.0 4.6 6.6  4.91
* 2.7 2.9 5.5 5.2 6.7 4.3 3.4 3.3 4.9 7.0  4.59
* 3.0 6.0 5.2 6.2 6.9 4.0 2.8 6.0 4.3 5.9  5.03
* 4.7 3.1 7.5 3.2 3.6 7.3 3.2 2.9 6.2 3.9  4.56
* 6.8 3.6 6.6 2.9 6.1 2.9 3.0 7.3 5.0 4.2  4.84
* 6.7 2.7 3.1 4.7 5.6 3.4 7.3 3.7 3.3 2.8  4.33
* 4.8 4.8 3.8 2.6 2.9 6.9 4.6 5.4 7.5 2.5  4.58
* 5.2 3.8 7.4 7.2 3.0 7.3 3.8 6.7 4.2 3.8  5.24
* 4.8 6.1 7.2 7.2 7.4 5.0 4.7 7.0 3.7 3.3  5.64
B 3.0 5.7 3.9 4.0 4.2 4.0 3.0 4.8 6.1 5.5  4.42
*
*Tähän alkuun ei ole sattunut yhtään yhdistelmää, jossa keskiarvo olisi
*tasan 5, mutta kyllä niitä tiedostosta löytyy:
*....................................................
*Kopioidaan "onnistuneet tapaukset" tidostoon K10A:
*FILE COPY K10 TO NEW K10A / IND=Mean,5
*....................................................
*Lasketaan lukumäärä vaikka näin:
*STAT K10A,CUR+1  / VARS=Mean
*Basic statistics: K10A N=892
*Variable: Mean    (##.##)
*Constant= 5
*
*Siis löytyipä 892 ehdot täyttävää yhdistelmää.
*....................................................
*Katsotaan alkupäätä:
*FILE LOAD K10A / IND=ORDER,1,10
*DATA K10A*,D,E,F
F  X1  X2  X3  X4  X5  X6  X7  X8  X9 X10  Mean
D 6.5 3.0 5.0 4.4 7.2 5.1 5.8 4.0 2.9 6.1  5.00
* 3.7 6.5 6.3 7.4 6.3 5.5 2.9 2.6 3.8 5.0  5.00
* 4.6 3.8 6.1 5.6 5.3 2.9 5.2 3.9 6.5 6.1  5.00
* 5.4 3.8 7.4 4.9 6.1 2.8 5.7 6.6 2.5 4.8  5.00
* 5.2 5.7 7.3 5.1 5.7 2.6 5.3 2.5 5.0 5.6  5.00
* 6.9 5.5 7.4 3.8 2.7 5.2 3.2 6.1 3.3 5.9  5.00
* 5.4 3.5 5.9 5.4 7.5 2.8 4.6 3.7 7.1 4.1  5.00
* 5.4 5.2 5.8 7.4 3.0 4.6 5.1 3.1 4.1 6.3  5.00
* 6.6 4.0 2.6 4.0 7.2 7.5 7.2 4.7 3.5 2.7  5.00
E 5.4 2.7 4.6 5.6 2.5 4.6 5.5 5.4 6.8 6.9  5.00

Uskoisin, että tehtävän voi ratkaista paljon tehokkaamminkin, mutta
jään kiusallanikin toistaiseksi odottelemaan kommentteja ja
parempia temppuja.

-Seppo

Vastaukset:
[ei vastauksia]

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.