AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zufallszahl normalverteilt errechnen mit Sigma
Thema durchsuchen
Ansicht
Themen-Optionen

Zufallszahl normalverteilt errechnen mit Sigma

Ein Thema von Dragon27 · begonnen am 12. Apr 2014 · letzter Beitrag vom 12. Apr 2014
Antwort Antwort
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 11:25
Hallo zusammen,

wir programmieren gerade eine Logistiksimulation in PHP und kommen bei einem mathematischen Problem nicht weiter.
Vielleicht kann einer von Euch helfen. Die Problemstellung ist eigentlich recht interessant

Wir haben folgende Angaben:

Lieferzeit: 1,9 Perioden
Abweichung: 0,3 Perioden

Nun soll aus diesen Werten errechnet werden, wann das besagte Teil denn nun eintrifft. Das Ganze
sollte sich annährend Normalverteilt verhalten.

Meine Recherchen ergaben folgendes:

Es gibt sowohl eine "Polar Methode" als auch die "Box Müller Methode". Bei beiden kann man aber keine
Abweichung angeben.

Wäre super, wenn jemand von Euch einen Tipp hat.

Danke!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 13:27
Versteh ich das jetzt falsch, oder soll hier einfach nur eine Zufallszahl rauskommen, welche im Bereich von 1,6 bis 2,2 liegt?

Die meisten Zufallsgeneratoren sind doch halbwegs normalverteil, also einfach

1,9 + (Random(0,3 * 2) - 0,3) = 1,9 + Random(-0,3 bis 0,3)

(1,9 - 0,3) + Random(0,3 * 2) = 1,6 + Random(0 bis 0,6)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#3

AW: Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 13:44
Hallo himitsu,

dein Ansatz stimmt nicht ganz, da dieser davon ausgeht, dass alle Zahlen mit der gleichen Wahrscheinlichkeit
gezogen werden.

Bei uns wäre es so, dass die Wahrscheinlichkeit für 1,9 Perioden höher liegen muss als für 2,4 Perioden.
Im Prinzip ist ja auch eine Lieferzeit von 4,0 Perioden bei einer Normalverteilung möglich aber sehr unwahrscheinlich.

Sprich du hast ja eine Glockenkurve die gegen +/- unendlicht geht. Das kann man aber logischerweise nicht programmieren.
Man muss dann einen Interval "rausschneiden"

Also ein paar Beispiele aus dem Leben:

1. in den meißten Fällen wird ein Produkt 1,9 Perioden zum liefern benötigen
2. Manchmal wird es früher oder später da sein (1,5 oder 2,4 Perioden)
3. Auch kann es passieren dass der LKW umkippt beim liefern und dann eine Zeit von 4 Perioden rauskommt (unwahrscheinlich aber möglich)

Danke für deinen Beitrag!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Mathematiker
(Gast)

n/a Beiträge
 
#4

AW: Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 14:47
Hallo,
suche einfach AMRandom 1.1.3 (Freeware). Die Funktion
function Random_Normal (const Mean, StdDev: Extended): Extended; overload; dürfte genau das machen, was Du suchst.

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 16:29
Die meisten Zufallsgeneratoren sind doch halbwegs normalverteil
Nicht normalverteilt, gleichverteilt sind die.

Wäre mal eine interessante Aufgabe, sich einen normalverteilten Zufallsgenerator zu überlegen. Spontane Idee: Gleichverteilte Zufallszahl zwischen 0 und 1 ziehen, dann Umkehrfunktion des gaußschen Integrals berechnen und entsprechend skalieren. Weiß aber gerade schon nicht mehr, wie ich darauf gekommen bin und ob es Sinn macht...

Nur so Gedankenspiele, nimm natürlich das fertige.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

AW: Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 16:57
Weiß aber gerade schon nicht mehr, wie ich darauf gekommen bin und ob es Sinn macht...
Das macht Sinn. Man kann bei Bedarf mit dieser Methode (Inverse der Verteilungsfuntion benutzen) sogar unbekannte Verteilungen approximieren, von denen man nur eine ausreichend große Stichprobe hat
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#7

AW: Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 17:47
Hallo,

danke für Eure Antworten....

Da ich in Mathe nicht gerade ein Genie bin und mir eine Delphi Funktion diesmal leider nicht hilft wäre ich
für nen "PHP" Gedankenanstoß dankbar

Danke!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 18:00
PHP hat wohl eine undokumentierte Funktion: http://www.php.net/manual/en/functio...ens-normal.php

Wofür der Parameter $x ist – man weiß es nicht.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#9

AW: Zufallszahl normalverteilt errechnen mit Sigma

  Alt 12. Apr 2014, 18:31
PHP hat wohl eine undokumentierte Funktion: http://www.php.net/manual/en/functio...ens-normal.php
Wofür der Parameter $x ist – man weiß es nicht.
Das scheint die Dichtefunktion zu sein, da macht das x schon Sinn

stats_rand_gen_normal sieht besser aus.
Ich würde davon abrate, ungetestet undokumentierte statistische Funktionen zu benutzen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz