La generazione di un numero casuale nell'intervallo [M..N] è abbastanza semplice. Vorrei tuttavia generare una serie di numeri casuali in tale intervallo con la media X (M < X < N).Genera un numero casuale nell'intervallo [M .... N] con media X
Ad esempio, assumere la seguente: M = 10000 N = 1000000 X = 20000 desidero generare (una grande quantità di) numeri casuali tale che l'intero intervallo [M..N] è coperto , ma in questo caso i numeri più vicini a N dovrebbero diventare estremamente più rari. I numeri più vicini a M dovrebbero essere più comuni per garantire che la media converga a X.
Il linguaggio di destinazione previsto è PHP, ma questa non è una domanda di lingua di per sé.
Hai un'idea di come dovrebbe essere la distribuzione? Puoi facilmente ottenerlo usando due distribuzioni uniformi (cioè una funzione casuale standard), una per [M..X] e una per [X..N] ponderate in modo che la media sia X. – Zong
Interessante. Quindi una distribuzione uniforme in [M..X] avrebbe una media di (M + X)/2 e una distribuzione uniforme in [X..N] avrebbe una media di (X + N)/2 giusto? E poi appesantire quei due mezzi tali che il loro EV è X ... è questo che intendi? –
Sì, dovresti semplicemente iniziare girando una moneta ponderata per decidere quale distribuzione usare. Questo soddisfa le tue esigenze ma potrebbe non dare la "forma" che desideri. – Zong