Question

J'ai le problème suivant, et ai du mal à comprendre une partie de l'équation:

méthodes de Monte Carlo pour estimer une intégrale est fondamentalement, prennent beaucoup d'échantillons aléatoires et ont déterminé une moyenne pondérée. Par exemple, l'intégrale de f (x) peut être estimé à partir de N échantillons aléatoires indépendantes x r de

texte alt http://www.goftam.com/images/area.gif

pour une distribution de probabilité uniforme dans la plage de xr [x1, x2]. Étant donné que chaque évaluation de la fonction f (xr) est indépendant, il est facile de distribuer ce travail sur un ensemble de processus.

Ce que je ne comprends pas ce que f (x r ) est censé faire? Est-il nourrir de nouveau dans la même équation? Ce ne serait pas une boucle infinie?

Était-ce utile?

La solution

Votre but est de calculer l'intégrale de f de x1 à x2. Par exemple, vous pouvez calculer l'intégrale de sin(x) de 0 à pi.

Grâce à l'intégration Monte Carlo, vous pouvez approcher ce par échantillonnage des points aléatoires dans l'intervalle [x1,x2] et l'évaluation f à ces points. Peut-être que vous souhaitez appeler cette MonteCarloIntegrate( f, x1, x2 ).

Donc non, MonteCarloIntegrate n'a pas "feed-back" en lui-même. Il appelle une f fonction, la fonction que vous essayez d'intégrer numériquement, par exemple sin.

Autres conseils

Il faut dire f (x i )

f () est la fonction nous cherchons à intégrer par la méthode de Monte carlo numérique, qui estime une intégrale (et son erreur) en évaluant les points aléatoirement choisi à partir de la région d'intégration.

Ref .

Remplacer f(x_r) par f(x_r_i) (lire: F évalué à x sous r sous i). Le r_i sont choisis uniformément au hasard dans l'intervalle [x_1, x_2].

Le point est la suivante: la zone sous f sur [x_1, x_2] est égal à (x_2 - x_1) fois la moyenne de f sur le [x_1, x_2] intervalle. C'est

A = (x_2 - x_1) * [(1 / (x_2 - x_1)) * int_{x_1}^{x_2} f(x)\, dx]

La partie entre crochets est la moyenne des f sur [x_1, x_2] que nous noterons avg(f). Comment peut-on estimer la moyenne des f? En ce échantillonnage à des points aléatoires N et en prenant la valeur moyenne de f évaluée à ces points aléatoires. À savoir:

avg(f) ~ (1 / N) * sum_{i=1}^{N} f(x_r_i)

x_r_1, x_r_2, ..., x_r_N sont des points choisis uniformément au hasard à partir de [x 1, x 2].

Ensuite

A = (x_2 - x_1) * avg(f) ~ (x_2 - x_1) * (1 / N) * sum_{i=1}^{N} f(x_r_i).

Voici une autre façon de penser à cette équation: la zone sous f sur l'intervalle [x_1, x_2] est la même que la surface d'un rectangle avec (x_2 - x_1) de longueur et la hauteur égale à la hauteur moyenne de f. La hauteur moyenne est d'environ f

(1 / N) * sum_{i=1}^{N} f(x_r_i)

qui est la valeur que nous avons produit précédemment.

Que ce soit x i ou x r est sans importance. - il est le nombre aléatoire que nous l'alimentation en fonction f ()

Je suis plus susceptible d'écrire la fonction (en dehors de formatage) comme suit:

(x 2 -x 1 ) * somme (f (x i )) / N

De cette façon, nous pouvons voir que nous prenons la moyenne des échantillons N de f (x) pour obtenir une hauteur moyenne de la fonction, puis en multipliant par la largeur (x2-x1).

Parce que, après tout, l'intégration est juste zone calculait sous la courbe. (Nice photos à http: //hyperphysics.phy-astr.gsu. edu / Hbase / integ.html # c4 .

x_r est une valeur aléatoire à partir de la gamme de l'intégrale.

Substituer aléatoire (x 1, x 2) pour x_r donnerait une équation équivalente.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top