Domanda

Ho il seguente problema, e sto avendo difficoltà a capire una parte dell'equazione:

metodi Monte Carlo per stimare un integrale è fondamentalmente, prendere un sacco di campioni casuali e determinato una media ponderata. Ad esempio, l'integrale di f (x) può essere stimato da N campioni x casuali indipendenti r da

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

per una distribuzione di probabilità uniforme xr nell'intervallo [x1, x2]. Dal momento che ogni valutazione della funzione f (xr) è indipendente, è facile da distribuire questo lavoro nel corso di un insieme di processi.

Quello che non capisco è quello che f (x r ) che dovrebbe fare? Ha feed back in se stessa? Non sarebbe un loop infinito?

È stato utile?

Soluzione

Il vostro obiettivo è quello di calcolare l'integrale di f da x1 a x2. Ad esempio, si potrebbe desiderare di calcolare l'integrale di sin(x) da 0 a pi.

Utilizzando l'integrazione Monte Carlo, si può approssimare questo campionando punti casuali nel [x1,x2] dell'intervallo e valutando f in quei punti. Forse ti piacerebbe chiamare questo MonteCarloIntegrate( f, x1, x2 ).

Quindi no, non MonteCarloIntegrate "feed back" in sé. Si chiama una funzione di f, la funzione che si sta tentando di integrare numericamente, ad esempio, sin.

Altri suggerimenti

Si dovrebbe dire f (x i )

f () è la funzione che stiamo cercando di integrare tramite il metodo numerico Monte Carlo, che stima un integrale (e il suo errore) valutando punti casualmente noi scelte dalla regione integrazione.

Rif .

Sostituire f(x_r) da f(x_r_i) (leggi: f valutato al x sub sub r i). Il r_i sono scelti uniformemente a caso dalla [x_1, x_2] intervallo.

Il punto è questo: l'area sotto f su [x_1, x_2] è uguale (x_2 - x_1) volte la media del f sul [x_1, x_2] intervallo. Questo è il

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

La parte tra parentesi quadre è la media di f su [x_1, x_2] che indicheremo avg(f). Come possiamo stimare la media di f? Campionando esso in punti casuali N e prendendo il valore medio di f valutata in quei punti casuali. Vale a dire:

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

dove x_r_1, x_r_2, ..., x_r_N sono punti scelti in modo uniforme a caso da [x_1, x_2].

Poi

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

Ecco un altro modo di pensare a questa equazione: l'area sotto f sul [x_1, x_2] intervallo è la stessa come l'area di un rettangolo con lunghezza (x_2 - x_1) ed altezza pari all'altezza media di f. L'altezza media di f è di circa

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

, che è il valore che abbiamo prodotto in precedenza.

Che si tratti di x i o x r è irrilevante -. È il numero casuale che stiamo alimentando in funzione f ()

Sono più propensi a scrivere la funzione (a parte la formattazione) come segue:

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

In questo modo, possiamo vedere che ci stiamo prendendo la media di N campioni di f (x) per ottenere un'altezza media di funzione, quindi moltiplicando per la larghezza (x2-x1).

Perché, dopo tutto, l'integrazione è solo calcolare l'area sotto la curva. (immagini NICE a http: //hyperphysics.phy-astr.gsu. edu / HBase / integ.html # c4 .

x_r è un valore casuale dalla gamma del integrale.

Sostituendo casuale (x_1, x_2) per x_r darebbe un'equazione equivalente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top