Wie kann ich ein falsches Integral approximieren?

13

Ich habe eine Funktion so dass R 3 f ( x , y , z ) d V endlich ist, und ich möchte dieses Integral approximieren. f(x,y,z)
R3f(x,y,z)dV

Ich kenne mich mit Quadraturregeln und Monte-Carlo-Approximationen von Integralen aus, sehe aber einige Schwierigkeiten bei der Implementierung in einem unendlichen Bereich. Wie wird im Fall Monte Carlo eine unendliche Region abgetastet (insbesondere wenn die Regionen, die einen größeren Beitrag zum Integral leisten, unbekannt sind)? Wie finde ich im Quadraturfall die optimalen Punkte? Sollte ich einfach einen beliebig großen Bereich fixieren, der um den Ursprung zentriert ist, und spärliche Quadraturregeln anwenden? Wie kann ich dieses Integral approximieren?

Paul
quelle

Antworten:

20

In einer Dimension können Sie Ihr unendliches Intervall durch Integration durch Substitution auf ein endliches Intervall abbilden, z

abf(x)dx=u1(a)u1(b)f(u(t))u(t)dt

Wobei eine Funktion ist, die in einem endlichen Bereich ins Unendliche geht, zB tan ( x ) :u(x)bräunen(x)

-f(x)dx=2-π/2π/2f(bräunen(t))1cos(2t)+1dt

Sie können dann eine beliebige normale numerische Quadraturroutine für das modifizierte endliche Integral verwenden.

Substitution für mehrere Variablen ist ein bisschen schwieriger, ist aber recht gut beschrieben hier .

Pedro
quelle
Das ist sehr interessant ... Ich habe nie über die Möglichkeit einer Substitution nachgedacht! Aber hat die Wahl der Funktion einen Einfluss auf die Genauigkeit der Approximation? u(t)
Paul
@ Paul: Ja, auf jeden Fall! Die Funktion sollte so glatt wie möglich sein, um f ( u ( t ) ) so glatt wie möglich zu halten, wodurch eine genauere Integration ermöglicht wird. u(t)f(u(t))
Pedro
Das stimmt, aber was ich vorhatte, war die Geschwindigkeit, mit der u (t) gegen unendlich konvergiert? Beeinträchtigt das auch die Genauigkeit?
Paul
1
@Paul: Ich weiß nicht, ob ich Ihre Frage richtig verstehe, aber die Funktion muss irgendwann unendlich sein. Wenn es seine Zeit in Anspruch nimmt und dann stark wächst, führt dies zu einigen großen Gradienten in , was die Integration erschwert und somit die Genauigkeit beeinträchtigen kann. f(u(t))
Pedro
1
Ihre Ableitung für die Tangente war falsch; Ich habe es repariert.
JM
11

Die Standardmethode besteht darin, aus dem Ausdruck für einen Exponentialpräfaktor zu extrahieren , diesen in e - x 2 zu transformieren und dann die Gaußschen Quadraturregeln (oder Gauß-Kronrod) als Gewichtung zu verwenden. Wenn f glatt ist, führt dies normalerweise zu ausgezeichneten Ergebnissen.f(x)ex2f

In funktioniert dasselbe mit dem Gewicht e - | x | 2 und entsprechende Kubaturformeln finden sich zB im Buch von Engels, Numerische Quadratur und Kubatur.R3e-|x|2

Online-Formeln finden Sie unter http://nines.cs.kuleuven.be/ecf/

Arnold Neumaier
quelle
2
Das funktioniert gut, wenn Ihr Integrand ungefähr exp (-x ^ 2) ist. Wenn Ihr Integrand ungefähr normal ist, aber vom Ursprung entfernt ist, kann dieser Ansatz schlecht funktionieren.
John D. Cook
1
@ JohnD.Cook: Aus diesem Grund habe ich '' geschrieben, um einen exponentiellen Vorfaktor zu extrahieren und diesen in '' umzuwandeln. Dabei handelt es sich normalerweise um eine lineare Transformation Niveausätze ungefähr kugelförmig. Die Funktion selbst kann ziemlich weit vom Normalen entfernt sein. e-x2
Arnold Neumaier
7

Für eindimensionale Quadratur können Sie das Buch über Quadpack (ein goldener Oldie, aber immer noch sehr relevant für eindimensionale Quadratur) und die im Algorithmus QAGI, einem automatischen Integrator für einen unendlichen Bereich, verwendeten Techniken überprüfen.

Eine andere Technik ist die doppelexponentielle Quadraturformel, die Ooura sehr gut für ein unendliches Intervall implementiert hat .

Informationen zur Kubatur finden Sie in der Enzyklopädie der Kubaturformeln von Ronald Cools.

GertVdE
quelle
2
Beachten Sie, dass die doppelt exponentielle Quadratur im Wesentlichen eine Substitutionsmethode ist. Sie nehmen eine Substitution vor, die Ihr Unendlichkeitsintegral in ein anderes Unendlichkeitsintegral umwandelt, dessen Abklingrate zweifach exponentiell ist ...
JM
1
@ JM Richtig. Und Sie tun dies, um die Euler-Mclaurin-Summenformel für die Trapezregel optimal zu nutzen, ebenso wie die IMT-Transformation und die TANH-Transformation. Eine schöne Abhandlung über die Geschichte der DE, die von einem der Gründerväter geschrieben wurde, finden Sie hier
GertVdE
6

f(x)f~(x)f~f

f(x)f~(x)=e-x2p(x)p(x)f(x)ex2-f~(x)dx

Wolfgang Bangerth
quelle
4

Wenn Sie die Monte-Carlo-Integration verwenden möchten, können Sie zunächst die Wichtigkeitsabtastung mit einem Sampler verwenden, der ungefähr Ihrem Integranden entspricht. Je besser Ihr Sampler mit Ihrem Integranden übereinstimmt, desto geringer ist die Varianz Ihrer integralen Schätzungen. Es spielt keine Rolle, dass Ihre Domain unendlich ist, solange Ihr Sampler dieselbe Domain hat.

John D. Cook
quelle