PDA

View Full Version : [c#] Generare un numero double random compreso in un intervallo


mizollen
06-06-2008, 16:41
Salve a tutti,
Sto impazzendo da giorni con una rete neurale, probabilmente il problema è dato dai numeri random che scelgo all'inizio, infatti con il metodo che sto utilizzando attualmente che è rnd.NextDouble() mi genera dei numeri random compresi nell'intervallo [0,1]. c'è un metodo per far si che io possa pescare questi numeri in un intervallo diverso (mi occorrerrebbe [-0.5,0.5])
Vi ringrazio per l'attenzione!
Ciao a tutti

amedeoviscido
06-06-2008, 16:55
Preparati, il codice è difficile da capire:

numero = numero - 0.5

:read:

mizollen
06-06-2008, 17:07
vabbè... questa era abbastanza banale... l'idea era di avere un metodo per fare in modo che in un futuro potessi ampliare il range... tipo [-50.0,+50.0]...

banryu79
06-06-2008, 17:08
Tipo così?

numero = (numero*100.0) - 50.0

mizollen
06-06-2008, 17:14
:doh:
questa mi era sfuggita...
c'ho il cervello che mi fuma... è da 3 settimane che sto dietro a derivate e funzioni sigmoidi che penso di essermi bruciato parecchi neuroni.
Grazie mille!

||ElChE||88
06-06-2008, 17:17
Se vuoi usarlo come funzione puoi fare così:

rnd.NextDouble() * (max - min) + min;

banryu79
06-06-2008, 17:19
:doh:
questa mi era sfuggita...
c'ho il cervello che mi fuma... è da 3 settimane che sto dietro a derivate e funzioni sigmoidi che penso di essermi bruciato parecchi neuroni.
Grazie mille!

Tranquillo, capita.
Comunque la mia ovvia risposta non voleva essere uno sfottò ma un'occasione per farti notare una cosa: se hai bisogno di cambiare *spesso* l'intervallo dei valori generabili (e l'intervallo è *sempre* definibile tra -X...0...+X) allora puoi scriverti un tuo metodo che prenda come parametri le parti variabili che si notano nelle due righe di codice postate da amedeoviscido e me, cioè il fattore da applicare a "numero" e il valore assoluto da usare come valore degli estremi negativo e positivo dell'intervallo.

Ciao.

amedeoviscido
06-06-2008, 17:20
Battuto sul tempo... da notare che col metodo proposto da ||ElChE||88 i limiti possono anche essere negativi, non simmetrici ecc