it-swarm.com.de

Java Normalverteilung

Ich versuche die Ankunft von Fans in einem Stadion zu simulieren. Das System selbst ist meines Erachtens kein Problem, aber die Ankunft der Fans erfolgt auf normale Weise.

Mein Problem ist:

Ich habe eine bestimmte Zeit für die Ankunft wie 100 Minuten und 1000 Fans, und ich muss die Ankünfte von Fans zu einer Zeit generieren, die der Verteilung folgt wie -> Fan x kam um 25 Minuten an, Fan y kam um 54 Minuten an und so weiter.

Wie kann ich diese Zufallszahlen nach einer Normalverteilung erzeugen?

Ich mache das in Java und habe die nextGaussian() -Methode in der Random class gefunden, bin mir aber nicht sicher, wie ich das in verwenden soll meine Situation.

Kann mich bitte jemand aufklären?

40

nextGaussian() zeichnet Samples aus einer Normalverteilung mit Mittelwert 0 und Standardabweichung 1. Wenn Sie also Mittelwert 1 Stunde und Standardabweichung 15 Minuten möchten, müssen Sie dies als nextGaussian()*15+60 bezeichnen.

Aus dem docs für Random.nextGaussian() :

Kehrt zurück:
Das nächste Pseudo-Zufallsprinzip ist der Gaußsche ("normal") verteilte Doppelwert mit dem Mittelwert 0,0 und der Standardabweichung 1,0 von der Sequenz dieses Zufallszahlengenerators

67
ratchet freak

Ich schlage vor, dass Sie Apache math: http://commons.Apache.org/math/ verwenden. Weitere Informationen finden Sie hier: http://commons.Apache.org/math/ Benutzerhandbuch/stat.html

6
Pih