IOK quindi voglio essere in grado di prelevare valori da una distribuzione normale che solo mai cade tra 0 e 1. In alcuni casi, voglio essere in grado di basta restituire una distribuzione completamente casuale, e in altri casi voglio restituire valori che cadono nella forma di un gaussiano.Come specificare i limiti superiore e inferiore quando si usa numpy.random.normal
Al momento sto usando la seguente funzione:
def blockedgauss(mu,sigma):
while True:
numb = random.gauss(mu,sigma)
if (numb > 0 and numb < 1):
break
return numb
Si preleva un valore da una distribuzione normale, quindi scarta se cade al di fuori della gamma 0 a 1, ma ritengo che ci deve essere un modo migliore per farlo.
Se "blocco" valori < 0 and > 1, sarà ancora una distribuzione gaussiana? –
non sarà una distribuzione gaussiana, ma in alcuni casi non voglio una distribuzione gaussiana. Voglio restituire una distribuzione che è sintonizzabile tra una distribuzione casuale (raccolta da un gaussiano molto ampio), qualcosa di molto vicino a una funzione delta (dove il gaussiano diventa molto stretto) –