Hallo Leute!
Ich hätte gern Hilfe von Euch zum Thema Werte zufällig generieren. Im Konkreten gebe ich einen Temperaturwert vor und in einer vorgegebenen Toleranz sollen per Zufall Werte generiert werden. Steht darüber etwas im Manual? Und unter welchem Stichwort?
Grüße!
MatzeMax
Zufallsgenerator
-
matzemax -
15. Juni 2016 um 13:49 -
Erledigt
-
-
Random ist das stichwort für die suche
-
- Offizieller Beitrag
-
Und da ich mir so gut wie sicher bin, daß diese "Zufalls"-Zahlen auch noch normal verteilt sein sollen:
C
Alles anzeigen;original Mars https://autoit.de/index.php/Thread/84217-Normalverteilung-mit-Random/?postID=673697#post673697 #include <Array.au3> Local $n = 100000, $aRnd[$n] ; 100.000 Testzahlen For $i = 0 To $n - 1 Step 1 $aRnd[$i] = round(RandomN(2450, 200)/100,2) ; Mittelwert 24,50, Standardabweichung 2,00 Next Local $aStdAbw = StdABW($aRnd) ; Mittelwert und Standardabweichung berechnen ConsoleWrite('Mid: ' & $aStdAbw[0] & @CRLF & 'StdABW: ' & $aStdAbw[1] & @CRLF) ; Ausgabe _ArrayDisplay($aRnd, 'Zufallszahlen', 25) ; Erste 25 Elemente anschauen ; #FUNCTION# ==================================================================================================================== ; Author ........: Mars ; Description ...: Berechnet den Mittelwert und die Standardabweichung. ; =============================================================================================================================== Func StdABW(ByRef $aArray) Local $n = UBound($aArray), $nMid = ArraySum($aArray)/$n, $nVar = 0 For $i = 0 To $n - 1 Step 1 $nVar += ($aArray[$i] - $nMid)^2 Next Local $aRet = [$nMid, ($nVar / ($n - 1)) ^ 0.5] Return $aRet EndFunc ; #FUNCTION# ==================================================================================================================== ; Author ........: Mars ; Description ...: Ermittelt einen Zufallswert anhand eines gegebenen Mittelwertes und der Standardabweichung ; ...............: Obacht! Es handelt sich um KEINE richtige Normalverteilung, sondern nur um eine Näherung! ; =============================================================================================================================== Func RandomN($nMid, $nSigma) ; Es können nur Ereignisse im 6 Sigma Bereich auftreten. Return $nMid + $nSigma * (Random(-1, 1) + Random(-1, 1) + Random(-1, 1) + Random(-1, 1) + Random(-1, 1) + Random(-1, 1)) / 1.414214 EndFunc ; #FUNCTION# ==================================================================================================================== ; Author ........: Mars ; Description ...: Summiert alle Elemente eines Arrays ; =============================================================================================================================== Func ArraySum($aArray) If Not IsArray($aArray) Then Return $aArray Local $iTmp = 0 For $i = 0 To UBound($aArray) - 1 Step 1 $iTmp += $aArray[$i] Next Return $iTmp EndFunc
@Admin/Mod: evtl. Thema verschieben.