J'essaie de générer 10 000 points à partir de la distribution uniforme sur le disque de l'unité et tracer ces points.Points uniformément répartis sur le disque unité (2D)
La méthode que j'utilise comporte trois étapes. La première étape génère l'amplitude du point x. Ce point a un cdf F (x) = x^2 min (x) = 0 et max (x) = 1. La seconde étape consiste à générer un vecteur bidimensionnel (que j'appellerai y) de la distribution normale multivariée avec mu étant le vecteur zéro et sigma étant la matrice d'identité 2x2 - MVN (0, I). Enfin, je normalise le vecteur y pour avoir la longueur x. J'ai essayé de coder la solution dans R mais je ne pense pas que ma réponse soit correcte. J'apprécierais vraiment si je pouvais être pointé dans la bonne direction.
u = runif(10000)
x = u^2
y = mvrnorm(10000, mu=rep(0,2), Sigma=diag(2))
y_norm = (x*y)/sqrt(sum(y^2))
plot(y_norm, asp = 1)
J'ai utilisé le package MASS pour mvrnorm. Aussi j'ai inclus le complot que j'ai fini avec:
C'est un exercice de faire comme ça, je réalise qu'il y a des solutions beaucoup plus faciles. La raison pour laquelle je le fais de cette façon est que je peux éventuellement appliquer la technique à n dimensions. Aussi, merci pour la réponse. – Chris95
J'ai pensé que ce serait une bonne idée de le mentionner au cas où quelqu'un arriverait à la recherche d'un bon moyen de générer des points uniformes sur un disque! – Spacedman
Question de suivi - Si je devais le faire pour n dimensions serait-ce la méthode la plus efficace? – Chris95