|
Autor |
Simulation von Pseudozufallszahlen gemäß gegebener 2D-Dichtefunktion |
|
Dirk_Broemme
Ehemals Aktiv  Dabei seit: 04.06.2003 Mitteilungen: 498
Wohnort: Lübeck
 | Themenstart: 2021-04-09
|
Hallo zusammen,
ich habe gegeben eine 2-dim- Wahrscheinlichkeitsdichtefunktion:
f(x,y)=n*Exp[-0,5*((x/a)^2+(y/b)^2 )^k]
mit n: reeller Normierungsfaktor
a,b,k: reelle Konstanten
Ich suche eine Möglichkeit (außer Rejection sampling) Zufallszahlen nach dieser Dichtefunktion in Matlab zu simulieren.
Viele Grüße
Dirk
|
Profil
| Folgende Antworten hat der Fragensteller vermutlich noch nicht gesehen. |
piquer
Senior  Dabei seit: 01.06.2013 Mitteilungen: 517
 | Beitrag No.1, eingetragen 2021-04-10
|
Hallo Dirk,
um eine ZV $(X_1, X_2)$ gemäß deiner Dichte zu erhalten, kannst du zuerst gleichverteilte Werte auf der Ellipse mit Halbachsen $a$ und $b$ generieren,
$$
\big( a \cos(2 \pi U_1), b \sin(2 \pi U_2) \big),
$$
für $U_1, U_2$ unabhängig und gleichverteilt auf $(0, 1)$.
Diese multiplizierst du dann mit einer ZV $R$,
$$
X_1 = a R \cos(2 \pi U_1), \quad X_2 = b R \sin(2 \pi U_2),
$$
wobei wir $R$ aus der Verteilung mit Dichte
$$
f_R(r) = \frac{2^{1-1/k}}{\Gamma(1+1/k)} r \exp(-1/2 r^{2k}), \quad r > 0
$$
gewinnen. Hierbei bezeichnet $\Gamma(\cdot)$ die Gamma-Funktion.
Die Verteilungsfunktion lautet
$$
F_R(r) = 1 - \frac{\Gamma(1/k, r^{2k}/2)}{\Gamma(1/k)}, \quad r > 0,
$$
wobei $\Gamma(\cdot, \cdot)$ die unvollständige Gamma-Funktion ist.
Wir erhalten eine $F_R$-verteilte ZV mittels
$$
R = F^{-1}(U_3)
$$
mit einer auf $(0,1)$-gleichverteilten, von $(U_1, U_2)$ unabhängigen, ZV $U_3$.
Die Gleichung
$$
U_3 = F(R)
$$
lässt sich etwa mit dem Newton-Verfahren lösen. Ein geeigneter Startpunkt ist die Wendestelle von $F_R$. Sie liegt bei
$$
\left( \frac{1}{k} \right)^{1/(2k)}.
$$
Viele Grüße
Torsten
|
Profil
|
|
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2023 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen. Lesen Sie die
Nutzungsbedingungen,
die Distanzierung,
die Datenschutzerklärung und das Impressum.
[Seitenanfang]
|