Zufallsgenerator RANDOMVARIABLE Untere und Obere Grenze festlegen
Hallo zusammen,
ich bin momentan dabei eine Bashscript zu schreiben welches Zufallszahlen generiert. Soweit sogut, es funktioniert.
Die Schwierigkeit für mich besteht nun darin meine Maximumgrenze und Minimumgrenze für die Zufallszahlen festzulegen.
Sprich: Ich gebe meinem Script den max und min Parameter mit womit die Grenzen festglegt werden. Leider komme ich nicht drauf das zu realsieren.
Andernfalls kann ich für ein fest gegebendes Intervall die Grenzen richtig setzen.
Kann mir jmd bitte weiterhelfen komme seit stunden nicht mehr weiter.
Danke und greeze
Beispiel:
Intervall [-2000,2000]
temp=$((RANDOM % 4001 - 2000))
echo $temp
Intervall [$min, $max]
temp =$((min+RANDOM % max - min)) wäre meine Idee gewesen aber hat nicht geklappt.
ich bin momentan dabei eine Bashscript zu schreiben welches Zufallszahlen generiert. Soweit sogut, es funktioniert.
Die Schwierigkeit für mich besteht nun darin meine Maximumgrenze und Minimumgrenze für die Zufallszahlen festzulegen.
Sprich: Ich gebe meinem Script den max und min Parameter mit womit die Grenzen festglegt werden. Leider komme ich nicht drauf das zu realsieren.
Andernfalls kann ich für ein fest gegebendes Intervall die Grenzen richtig setzen.
Kann mir jmd bitte weiterhelfen komme seit stunden nicht mehr weiter.
Danke und greeze
Beispiel:
Intervall [-2000,2000]
temp=$((RANDOM % 4001 - 2000))
echo $temp
Intervall [$min, $max]
temp =$((min+RANDOM % max - min)) wäre meine Idee gewesen aber hat nicht geklappt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 184452
Url: https://administrator.de/contentid/184452
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
1 Kommentar
moin raphidue,
eigentlich hast Du es doch schon fast richtig hingeschrieben.
Dein Range Wert (MaxWert minus Minwert) geht von -2000 bis +2000 ergibt 4000
Die Grenze wirdmit dem plus Minimalwert in den Richtung Negativen des Wertebereichs geholt.
Bei min -5; max 20 wäre Range = 25 und Minwert = -5
Bei min 5; max 20 wäre Range = 15 und Minwert = +5
Gruß Phil
eigentlich hast Du es doch schon fast richtig hingeschrieben.
Dein Range Wert (MaxWert minus Minwert) geht von -2000 bis +2000 ergibt 4000
Range = (+2000) - (-2000)
Die Grenze wird
temprandom = Random % Range + (Minwert)
temprandom = Random % (2000 - -2000) + -2000
Bei min -5; max 20 wäre Range = 25 und Minwert = -5
Bei min 5; max 20 wäre Range = 15 und Minwert = +5
Gruß Phil