Oscar ha scritto:
> ho fatto delle prove, ho messo in piedi la tua idea con 90 numeri e una 
> sola =Casuale()

Mi interessa tornare sull'argomento per controllare che non ci sia un
colossale problema con la funzione CASUALE(), anche se credo di avere
capito male io. Tu dici che hai scritto [=CASUALE()] in 90 celle, ad
esempio A1:A90?

> in una cella ho fatto in modo che mi calcoli la somma dei numeri che 
> uscivano e sapendo che il risultato doveva essere 4095
> S(1,2,x)=x/2*(x+1)

E cosa c'entra una formula con numeri interi con il calcolo qui sopra,
che produce numeri in virgola mobile? Allora usavi qualcosa tipo
[=ARROTONDA.ECCESSO(CASUALE()*90;1)] in maniera da ottenere numeri
interi tra 1 e 90? Oppure lo usavi semplicemente come stima per vedere
che i tuoi numeri fossero "ben distribuiti"?

> ho tenuto premuto i pulsanti CTRL+SHIFT+F9
> Ho constato che così uscivano spesso numeri doppi

Ecco, questo e' il punto che mi interessa chiarire. Come controllavi se
c'erano doppioni? Facendo la somma? Guardare il totale e' un criterio
che, anche se tu lo usassi solo per numeri interi (quindi con la formula
modificata come scritto sopra) e' troppo debole: se ti esce per 45 volte
"1" e per 45 volte "90", la somma torna lo stesso, ma i doppioni ci
sono!

> mentre moltiplicando
> =Casuale()*Casuale()
> non ho avuto nessun doppione per un paio di minuti di fila

Questo testimonia che non ho capito bene cosa facevi. Se il generatore
di numeri "casuali" di Calc e' valido (e dalle prove che ho fatto poco
fa con la 3.0.1 direi che e' accettabile), usare "CASUALE()*CASUALE()"
dovrebbe produrre numeri molto meno "casuali" del caso precedente,
perche' schiacciati verso il basso: con "CASUALE()" hai che il 50% dei
numeri prodotti e' tra 0 e 0.5 e il 50% tra 0.5 e 1; con
"CASUALE()*CASUALE()" hai, in pieno accordo con la teoria, che ben piu'
di meta' dei numeri risultanti e' tra 0 e 0.5.

Anche il criterio empirico di sommare
[=ARROTONDA.ECCESSO(CASUALE()*90;1)] (per 90 volte) e
[=ARROTONDA.ECCESSO(CASUALE()*CASUALE()*90;1)] (sempre per 90 volte)
produce i risultati previsti: la somma e' vicina al fatidico 4095 nel
primo caso, molto piu' bassa nel secondo.

Insomma, io non riesco proprio a capire se in questo modo hai risolto il
problema originario, cioe' ottenere i numeri interi da 1 a 90 ordinati
secondo una sequenza casuale. Se ce l'hai fatta, hai trovato un grosso
bug in Calc, dato che la probabilita' di riuscirci, che puoi calcolare
facilmente in Calc con [=PERMUTAZIONE(90;90)/PERMUTAZIONA(90;90)], e'
lo 0,0000000000000%!

O forse ho capito male io e tu NON hai risolto il problema originario...
Se ce l'hai fatta per favore spiega esattamente quali formule hai usato
e in quali celle, in modo che io possa aprire una segnalazione di bug se
i numeri non sono abbastanza "casuali"!

Ciao,
  Andrea.



---------------------------------------------------------------------
To unsubscribe, e-mail: utenti-unsubscr...@it.openoffice.org
For additional commands, e-mail: utenti-h...@it.openoffice.org

Rispondere a