Random Zahl unter Berücksichtung eines Durchschnitts

Wippi11223

Mitglied
Hallo,

Ich möchte eine Zufallszahl generieren - all Zufallszahlen sollen aber im Durchschnitt einen Wert erreichen

Hier ein Beispiel:
  • Ich habe einen vorgegeben Durchschnittswert z.B. 50
  • Ich möchte mehrere Zufallszahlen berechnen die aber in Summe einen Durchschnitt von 50 ergeben sollen.
  • der Wertebereich Min =0
  • der Wertebereich Max= ist nicht definiert
Kann mir hier jemand helfen ? Mit Math.random() funktioniert das ja nicht denn ich weiß ja nicht den Max Wertebereich...


Vielen Dank
 
K

kneitzel

Gast
Also wenn der min Wert 0 ist und der Durchschnitt gegeben wurde und unter der Annahme, dass die Werte Gleichmäßig verteilt sind:
Kannst Du dann den max Wert bestimmen?

Dann kannst Du einfach eine Zufallszahl in dem bestimmten Bereich erzeugen und bist fertig.
 

MoxxiManagarm

Top Contributor
  • Ich habe einen vorgegeben Durchschnittswert z.B. 50
  • Ich möchte mehrere Zufallszahlen berechnen die aber in Summe einen Durchschnitt von 50 ergeben sollen.

Dann würde ich zuerst ein Array erstellen, welches an jeder Position diese Zahl hält. Dann kannst du wiederholt an einer zufälligen Stelle eine neue Zahl setzen. Wenn du statt der 50 jetzt eine 25 setzt, also 25 wegnimmst, dann musst du die 25 an anderer Stelle (kann auch verteilt sein) wieder ergänzen.

Edit:
Oder du füllst von vornherein jeden Index mit einer Zufallszahl und du speicherst die immer einen diff zu dem Durchschnitt. Wenn du also an Stelle 25 rollst, dann ist dein Diff -25. Wenn du an 2. Stelle nun 80 rollst, dann wird dein Diff zu +5 usw. Wenn du dann alle Felder befüllt hast musst du diesen Diff noch zufällig verteilen.
 
K

kneitzel

Gast
Also die Anforderung möchte ich jetzt doch einmal hinterfragen:

Du willst einen Zufallsgenerator, der im rechnerischen Schnitt den Durchschnitt hat? Das wäre dann z.B. der normale, ideale Würfel:
Du bekommst Zufallszahlen von 1- 6. Wenn der Würfel ideal ist und du oft genug würfelst, dann wird ein Durchschnitt von 3,5 dabei raus kommen, weil jede Zahl von 1-6 gleich oft gewürfelt wurde ...

Oder willst Du einen Zufallsgenerator haben, der dir n Zufallszahlen geben soll und der Durchschnitt ist dann exakt der vorgegebene Wert?
Dann entfernen wir uns aber von idealen Würfeln und so. Durchschnitt 3,5 bei 2 Zufallszahlen hat dann nur die Kombinationen:
1 6
2 5
3 4
4 3
5 2
6 1
==> Nach der ersten Zahl kann ich die zweite Vorher sagen. Bei n statt 2 würfen kann ich dann auch Wahrscheinlichkeiten bestimmen und die Chance, nach x Zahlen die x+1 Zahl vorher zu sagen wird immer größer.

Wenn der Bereich nicht vorgegeben ist, dann sind auch Extremfälle denkbar. Also Durchschnitt 50 bei 100 Zufallszahlen könnten 99x 0 und 1x 5000 sein ...
Die Wahrscheinlichkeit dafür ist zwar sehr gering, aber du hast dann einen Zahlenstrahl bei dem die Wahrscheinlichkeit der Zahlen von 0 - 5000 zu berücksichtigen wären ... und die Wahrscheinlichkeiten wären natürlich nicht gleich!

Ersteres habe ich betrachtet - da kann man den Bereich, den man braucht bei einer Gleichverteilung der Zahlen, berechnen.

Zweites etwas komplexere hat @MoxxiManagarm etwas beschrieben.
 

Wippi11223

Mitglied
Hallo,
ok vielen Dank für eure Antworten - also ich habe folgende Parameter:
min = Startpunkt = 0
max = MaxValue = ist doch vorhanden z.B. 100 (Sorry habe das im vorherigen Post falsch geschrieben)
Avg = 65
Anzahl der Ziehungen = 150

Ich möchte eine Zufallszahl generieren die diesen Parametern entspricht - aber ich denke dann habe ich alle Werte oder?
Math.random()*MaxValue --> wäre hier die Lösung oder?

Aber wie erreiche ich dann den AVG von 65? Denn wenn ich 0-100 der Bereich wäre und die Zufallszahl Gleichverteilt ist dann erreiche ich einen AVG von 50 oder?



Thx!
 

Wippi11223

Mitglied
Hallo,
ok vielen Dank für eure Antworten - also ich habe folgende Parameter:
min = Startpunkt = 0
max = MaxValue = ist doch vorhanden z.B. 100 (Sorry habe das im vorherigen Post falsch geschrieben)
Avg = 65
Anzahl der Ziehungen = 150

Ich möchte eine Zufallszahl generieren die diesen Parametern entspricht - aber ich denke dann habe ich alle Werte oder?
Math.random()*MaxValue --> wäre hier die Lösung oder?

Aber wie erreiche ich dann den AVG von 65? Denn wenn ich 0-100 der Bereich wäre und die Zufallszahl gleichverteilt ist dann erreiche ich einen AVG von 50 oder?
Thx!


--> mir wäre eher wichtig dass ich den AVG erreiche und den Max Wert unberücksichtigt lasse.
 
K

kneitzel

Gast
Schau Dir die Antwort von Moxxi noch einmal an. Dann hast Du einen Ansatz für einen Algorithmus.
 

MoxxiManagarm

Top Contributor
Das habe ich doch gesagt. Du weißt wie man Zufallszahlen generiert, oder?! Pseudo mit deinen Beispielwerten:

Code:
erstelle Array der Länge 150
erstelle diff Speicher initial Wert 0
wiederhole 150 mal <- index
  Generiere Zufallszahl zwischen 0 und 100
  Array an Stelle index <- Zufallszahl
  addiere (Zufallszahl - 65) zu diff

wiederhole bis diff 0
  wähle zufälligen index von Array
  gleiche Array an Stelle index an, beachte dabei dir lower/upper boundaries
  inc/dec diff je nachdem
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Wie lege ich eine durch Random ausgesuchte Zahl in ein Array? Java Basics - Anfänger-Themen 3
F Erste Schritte Random Zahl auswählen Java Basics - Anfänger-Themen 7
E Variable neue Random Zahl zuweisen, wenn Button geklickt Java Basics - Anfänger-Themen 5
R (Math.random()*49) zahl darf aber nur einmal gezogen werden Java Basics - Anfänger-Themen 11
G Zahl erstellen / Random Java Basics - Anfänger-Themen 12
G Switch-Case harmoniert nicht mit Random-Zahl Java Basics - Anfänger-Themen 3
Spin 4 stellige random zahl erzeugen Java Basics - Anfänger-Themen 4
B random zahl ausgeben Java Basics - Anfänger-Themen 5
megachucky Random erzeugt immer nur dieselbe Zahl ? Java Basics - Anfänger-Themen 5
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
laxla123 Bedeutung int random Java Basics - Anfänger-Themen 3
monsterherz Arbeiten mit Random Java Basics - Anfänger-Themen 12
J Math.Random Java Basics - Anfänger-Themen 9
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
K Problem mit "Random" Java Basics - Anfänger-Themen 5
W Bestimmte Zahlen bei Math.random ausschließen? Java Basics - Anfänger-Themen 31
W n verschiedene Arrays zufällig ausgeben - mit der Random-Klasse? Java Basics - Anfänger-Themen 8
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Random(x,y,z) Java Basics - Anfänger-Themen 4
alialhajhossein math.random Java Basics - Anfänger-Themen 3
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
L Zufälliges Objekt aus der ArraylList ohne java.util.Random Java Basics - Anfänger-Themen 56
D Wahrscheinlichkeiten mit Math.random() Methode Java Basics - Anfänger-Themen 1
T Random soll Zufallszahl beibehalten. Java Basics - Anfänger-Themen 11
A Random Double mit Math.round() runden? Java Basics - Anfänger-Themen 1
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
I math.random Grenzwerte Java Basics - Anfänger-Themen 2
C Arraywerte random vertauschen Java Basics - Anfänger-Themen 2
E Methoden Math.Random() kürzen ? Java Basics - Anfänger-Themen 2
SchmidiMC Methoden Random in Methode neu generieren lassen Java Basics - Anfänger-Themen 1
J Klassen Math && Random: wie zufällig sind Zufallszahlen? Java Basics - Anfänger-Themen 19
J Operatoren Random wird nur einmal erstellt und dann immer verwendet Java Basics - Anfänger-Themen 2
D Erste Schritte Random erzeugen Java Basics - Anfänger-Themen 28
D Erste Schritte Random Java Basics - Anfänger-Themen 79
Z Problem mit "Random" in Java Java Basics - Anfänger-Themen 12
Z Array-Index einmalig je mit Random füllen Java Basics - Anfänger-Themen 7
J Methoden Math.random unklar Java Basics - Anfänger-Themen 4
N java.util.Random - Zwei Zahlen mit festgesetzter Wahrscheinlichkeit? Java Basics - Anfänger-Themen 15
Thorwine Erste Schritte Wuerfelspiel mit Math.random() Java Basics - Anfänger-Themen 10
S Math.random() Zufall ? Java Basics - Anfänger-Themen 2
S Random Plattformen erstellen Java Basics - Anfänger-Themen 7
C Erste Schritte Random Wert auslesen und ausgeben Java Basics - Anfänger-Themen 2
H Ist Math.Random() eine Methode oder ein Methodenaufruf (Klausurfrage) Java Basics - Anfänger-Themen 4
I Random Ergebnis ausgeben und Gewinner ausgeben. Java Basics - Anfänger-Themen 3
I Spieler Name eintragen und Random Gewinner Java Basics - Anfänger-Themen 4
A Random String in TextView (Android)? Java Basics - Anfänger-Themen 2
V Random Java Basics - Anfänger-Themen 2
X Problem mit Math.random() Java Basics - Anfänger-Themen 2
S Random IDs immer 10-stellig? Wie? Java Basics - Anfänger-Themen 5
T Random vs. Math.random() Java Basics - Anfänger-Themen 2
R Schaffe es nicht Random-Programmierung zu vollenden. Wo liegt der Fehler in diesem Code? Java Basics - Anfänger-Themen 13
Y Random-Objekt und Swing Java Basics - Anfänger-Themen 4
B Verstehe ZufallInt = (int) (Math.random() * 5 + 1); nicht Java Basics - Anfänger-Themen 9
K Doppelte namen bei random Java Basics - Anfänger-Themen 3
K Einfacher random namen weitergeben Java Basics - Anfänger-Themen 4
B Hilfe bei Greenfoot ( random blickrichtung + vor(); Java Basics - Anfänger-Themen 10
B Variablen Mehrere Zahlen mit unterschiedlicher Wahrscheinlichkeit mit Random auswählen Java Basics - Anfänger-Themen 17
M Random bereich und for schleife Java Basics - Anfänger-Themen 20
Jagson Dotcom Spiel - Dots Random setzen Java Basics - Anfänger-Themen 8
R java.util.Random Java Basics - Anfänger-Themen 8
T Zufallserzeugung mit math.random und speichern in array Java Basics - Anfänger-Themen 29
J Woher kommt das Objekt "Math" bei Math.random(); ? Java Basics - Anfänger-Themen 3
P Typecasting für Ganzzahlige Zufallszahl (Math.random) Java Basics - Anfänger-Themen 2
I Zwei Mal das selbe Objekt per Random :( Java Basics - Anfänger-Themen 7
E Random Java Basics - Anfänger-Themen 7
Q Random Funktion JButtons Java Basics - Anfänger-Themen 6
J Bedeutung von math.random() math.round() Java Basics - Anfänger-Themen 7
K ArrayList random füllen Java Basics - Anfänger-Themen 2
K random problem Java Basics - Anfänger-Themen 3
F Problem Math.random in for-Schleife Java Basics - Anfänger-Themen 8
B Random() gleiche Zahlen ausschließen Java Basics - Anfänger-Themen 30
T Buttons (auf denen bilder sind) random vertauschen Java Basics - Anfänger-Themen 11
C math.random() Java Basics - Anfänger-Themen 9
R math.random wertebereich 16-21 Java Basics - Anfänger-Themen 3
B Math.random und Strings Java Basics - Anfänger-Themen 13
R Java Random Java Basics - Anfänger-Themen 13
J Random Java Basics - Anfänger-Themen 11
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
M Zufallszahlen mit Random Java Basics - Anfänger-Themen 4
K Random Zahlen in ein Feld Java Basics - Anfänger-Themen 4
N java.util.Random Java Basics - Anfänger-Themen 6
Luk10 math.random() Java Basics - Anfänger-Themen 2
walker23m Datentypen Zufällig umsortieren einer Hashmap(random?) Java Basics - Anfänger-Themen 3
M Junit TestCase für Random() Zahlen Java Basics - Anfänger-Themen 6
S Random zahlen mit unter und obergrenze Java Basics - Anfänger-Themen 3
D Problem mit Set, Stack und Random Java Basics - Anfänger-Themen 2
S Skatblatt darstellen durch Random? Java Basics - Anfänger-Themen 48
C Bereich festelgen bei Random Java Basics - Anfänger-Themen 9
H Random-Zahlen Java Basics - Anfänger-Themen 7
L Random Sortierung Java Basics - Anfänger-Themen 9
T random-methode Java Basics - Anfänger-Themen 18
M Random in Swing Java Basics - Anfänger-Themen 24
J Math.random() - kurze frage. Java Basics - Anfänger-Themen 20
J Random Wertebereich Java Basics - Anfänger-Themen 2
B Frage zu Random Java Basics - Anfänger-Themen 21
chik klasse random() Java Basics - Anfänger-Themen 6
B Random Zahlen und Formatierung Java Basics - Anfänger-Themen 6
G Random Zahlen Java Basics - Anfänger-Themen 25
S Diashoow Random Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben