Come posso approssimare un integrale improprio?


13

Ho una funzione f(X,y,z) tale che
R3f(X,y,z)dV
è finito e voglio approssimare questo integrale.

Conosco le regole di quadratura e le approssimazioni di integrali di monte carlo, ma vedo alcune difficoltà nel metterle in atto in un dominio infinito. Nel caso del monte carlo, come si fa a campionare una regione infinita (specialmente se le regioni che contribuiscono in modo più significativo all'integrale sono sconosciute)? Nel caso della quadratura, come posso trovare i punti ottimali? Dovrei semplicemente riparare una regione arbitrariamente grande centrata attorno all'origine e applicare regole di quadratura sparsa? Come posso fare per approssimare questo integrale?

Risposte:


20

In una dimensione, puoi mappare il tuo intervallo infinito su un intervallo finito usando l'integrazione per sostituzione, ad es

un'Bf(X)dX=u-1(un')u-1(B)f(u(t))u'(t)dt

Dove è una funzione che si spegne all'infinito in un intervallo finito, ad es. Tan ( x ) :u(X)abbronzatura(X)

f(x)dx=2π/2π/2f(tan(t))1cos(2t)+1dt

È quindi possibile utilizzare qualsiasi normale routine di quadratura numerica per l'integrale finito modificato.

La sostituzione di più variabili è un po 'più complicata, ma è abbastanza ben descritta qui .


È molto interessante ... non ho mai nemmeno considerato la possibilità di sostituzione! Ma la scelta della funzione ha qualche effetto sull'accuratezza dell'approssimazione? u(t)
Paolo

@Paul: Sì, sicuramente! La funzione dovrebbe essere il più fluida possibile in modo da mantenere f ( u ( t ) ) il più regolare possibile, consentendo così un'integrazione più accurata. u(t)f(u(t))
Pedro,

È vero, ma quello che avevo in mente era la velocità con cui u (t) converge all'infinito? Ciò influisce anche sulla precisione?
Paolo

1
@Paul: non so se capisco correttamente la tua domanda, ma la funzione deve finire all'infinito in un punto o nell'altro. Se ci vuole tempo e poi cresce bruscamente, questo introdurrà alcuni grandi gradienti in , il che rende più difficile l'integrazione e potrebbe quindi influire sulla precisione. f(u(t))
Pedro,

1
Il tuo derivato per la tangente era sbagliato; L'ho riparato.
JM,

11

Il modo standard di farlo è quello di estrarre dall'espressione per un prefattore esponenziale, trasformarlo in e - x 2 , e quindi usare le regole di quadratura gaussiana (o Gauss Kronrod) con questo come peso. Se f è regolare, questo di solito dà risultati eccellenti.f(x)ex2f

In , lo stesso funziona con il peso e - | x | 2 , e appropriate formule cubature possono essere trovate, ad esempio, nel libro di Engels, quadratura numerica e cubatura.R3e|x|2

Le formule online sono disponibili su http://nines.cs.kuleuven.be/ecf/


2
Funziona bene se il tuo integrando è approssimativamente exp (-x ^ 2). Se il tuo integrando è approssimativamente normale, ma centrato rispetto all'origine, questo approccio può funzionare male.
John D. Cook,

1
ex2

7

Per la quadratura unidimensionale, puoi controllare il libro su Quadpack (un vecchio d'oro ma ancora molto rilevante nella quadratura unidimensionale) e le tecniche utilizzate nell'algoritmo QAGI, un integratore automatico per un intervallo infinito.

Un'altra tecnica è la formula della quadratura a doppia esponenziale, ben implementata per un intervallo infinito da Ooura .

Per la cubatura, puoi consultare l' Enciclopedia delle formule di cubatura di Ronald Cools.


2
Si noti che la quadratura a doppia esponenziale è essenzialmente un metodo di sostituzione; fai una sostituzione che trasforma il tuo integrale a portata infinita in un altro integrale a portata infinita il cui tasso di decadimento è, beh, doppia esponenziale ...
JM

1
@JM Corretto. E lo fai per ottenere il meglio dalla formula di somma di Euler-Mclaurin per la regola del trapezio, così come la trasformazione IMT e la trasformazione TANH. Un bel documento sulla storia del DE scritto da uno dei padri fondatori può essere trovato qui
GertVdE

6

Se ricordi come funzionava la quadratura, allora saprai anche un modo per approssimare gli integrali infiniti. Vale a dire: per la quadratura, approssimate la funzionef(X) vuoi integrarti con qualcosa di simile, per esempio un polinomio f~(X)(o un polinomio a tratti) per il quale è possibile scrivere analiticamente l'integrale. Hai capitof~ a partire dal f per interpolazione nei punti di interpolazione - che saranno quindi i tuoi punti di quadratura.

Per infiniti integrali, un approccio usa esattamente lo stesso pensiero. Ad esempio, potresti provare ad approssimaref(X) sull'intera linea usando una funzione più semplice, ad es f~(X)=e-X2p(X) con un polinomio p(X) che interpola f(X)eX2in un certo numero di punti. Esistono quindi semplici formule per il calcolo dell'integrale-f~(X)dX. La scelta dei punti di interpolazione segue una logica simile a quella della consueta derivazione in quadratura.


4

Se si desidera utilizzare l'integrazione Monte Carlo, è possibile iniziare utilizzando il campionamento di importanza con un campionatore che approssima approssimativamente il proprio integrando. Migliore è il tuo campionatore corrisponde al tuo integrando, minore sarà la varianza nelle tue stime integrali. Non importa che il tuo dominio sia infinito purché il tuo campionatore abbia lo stesso dominio.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.