Zufallszahlen erzeugen < Maple < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 21:45 Fr 13.07.2007 | Autor: | FrankM |
Hallo,
ich habe folgendes Problem ich möchte mit Maple gleichverteilte Zufallspunkte im Einheitskreis berechnen. Wenn ich jetzt einfach zwei Zufallszahlen r im Bereich [0:1] und Phi [0:2*Pi] erzeuge. Häufen sich die Punkte (r*sin(Phi),r cos(Phi)) um den Ursprung. Wie kann ich die Punkte besser verteilen?
Danke
Frank
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 00:28 Sa 14.07.2007 | Autor: | rainerS |
Hallo,
> ich habe folgendes Problem ich möchte mit Maple
> gleichverteilte Zufallspunkte im Einheitskreis berechnen.
> Wenn ich jetzt einfach zwei Zufallszahlen r im Bereich
> [0:1] und Phi [0:2*Pi] erzeuge. Häufen sich die Punkte
> (r*sin(Phi),r cos(Phi)) um den Ursprung. Wie kann ich die
> Punkte besser verteilen?
Die einfachste Methode wäre, die Punkte in einem Quadrat um den Einheitskreis zu erzeugen, also x und y jeweils im Bereich [-1/2:1/2], und alle Punkte mit [mm]x^2+y^2 > 1[/mm] wegzulassen. Der Nachteil ist, dass man [mm] 1 - \bruch{\pi}{4} \approx [/mm]21,5% aller Punkte weglassen muss, das kann natürlich zuviel Rechenzeit kosten.
Die zweite Methode wäre, die Werte für r mit der richtigen Verteilung zu erzeugen, nämlich mit Dichte proportional zu r statt gleichverteilt im Intervall [0:1]. Das sollte eigentlich der Fall sein, wenn [mm]r=\sqrt{u}[/mm], bei gleichverteilten Werten von u (Inversionsmethode). Also erzeugst du zwei Zufallszahlen u und phi und setzt die Punkte als [mm](\sqrt{u}\cos\phi,\sqrt{u}\sin\phi)[/mm].
Grüße
Rainer
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:19 Sa 14.07.2007 | Autor: | FrankM |
Hallo,
vielen Dank ich nutze jetzt die Version mit der Wurzel funktioniert bestens.
Gruß
Frank
|
|
|
|