Bagaimana saya bisa memperkirakan integral yang tidak tepat?

13

Saya memiliki fungsi f(x,y,z) sehingga
R3f(x,y,z)dV
adalah terbatas, dan saya ingin mendekati integral ini.

Saya akrab dengan aturan kuadratur dan pendekatan integral monte carlo, tapi saya melihat beberapa kesulitan menerapkannya dalam domain tak terbatas. Dalam kasus monte carlo, bagaimana orang melakukan pengambilan sampel wilayah yang tidak terbatas (terutama jika wilayah yang berkontribusi lebih signifikan terhadap integral tidak diketahui)? Dalam kasus quadrature, bagaimana cara menemukan titik optimal? Haruskah saya memperbaiki wilayah sewenang-wenang besar yang berpusat di sekitar titik asal dan menerapkan aturan kuadratur yang jarang? Bagaimana saya bisa mendekati perkiraan integral ini?

Paul
sumber

Jawaban:

20

Dalam satu dimensi, Anda dapat memetakan interval tak terbatas Anda ke interval terbatas menggunakan integrasi dengan substitusi, misalnya

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

Di mana adalah beberapa fungsi yang berubah hingga tak terbatas dalam beberapa rentang terbatas, misalnya tan ( x ) :u(x)tan(x)

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

Anda kemudian dapat menggunakan rutin kuadratur numerik reguler apa pun untuk integral integral yang dimodifikasi.

Substitusi untuk beberapa variabel agak sedikit rumit, tetapi dijelaskan dengan cukup baik di sini .

Pedro
sumber
Itu sangat menarik ... Saya bahkan tidak pernah mempertimbangkan kemungkinan penggantian! Tetapi apakah pilihan fungsi berpengaruh pada keakuratan perkiraan? kamu(t)
Paul
@ Paul: Ya, tentu saja! Fungsi harus sehalus mungkin seperti untuk menjaga f ( u ( t ) ) sehalus mungkin, sehingga memungkinkan integrasi yang lebih akurat. u(t)f(u(t))
Pedro
Itu benar, tetapi yang ada dalam pikiran saya adalah tingkat di mana Anda (t) bertemu hingga tak terbatas? Apakah itu juga memengaruhi keakuratan?
Paul
1
@ Paul: Saya tidak tahu apakah saya memahami pertanyaan Anda dengan benar, tetapi fungsinya harus berakhir hingga tak terbatas pada satu titik atau yang lain. Jika perlu waktu dan kemudian tumbuh dengan tajam, maka ini akan memperkenalkan beberapa gradien besar dalam , yang membuatnya lebih sulit untuk diintegrasikan dan dengan demikian dapat mempengaruhi akurasi. f(u(t))
Pedro
1
Turunan Anda untuk garis singgung salah; Aku telah memperbaikinya.
JM
11

Cara standar untuk melakukannya adalah mengekstraksi dari ekspresi untuk sebuah prefactor eksponensial, mentransformasikannya menjadi e - x 2 , dan kemudian menggunakan aturan kuadratur Gaussian (atau Gauss Kronrod) dengan ini sebagai bobot. Jika f mulus, ini biasanya memberikan hasil yang sangat baik.f(x)ex2f

Di , yang sama bekerja dengan berat e - | x | 2 , dan formula cubature yang sesuai dapat ditemukan, misalnya, dalam buku karya Engels, quadrature numerik dan cubature.R3e|x|2

Formula online ada di http://nines.cs.kuleuven.be/ecf/

Arnold Neumaier
sumber
2
Itu bekerja dengan baik jika integrand Anda kira-kira exp (-x ^ 2). Jika integrand Anda mendekati normal, tetapi berpusat jauh dari asalnya, pendekatan ini dapat bekerja dengan buruk.
John D. Cook
1
e-x2
7

Untuk quadrature satu dimensi, Anda dapat memeriksa buku tentang Quadpack (oldie emas tetapi masih sangat relevan dalam quadrature satu dimensi) dan teknik yang digunakan dalam algoritma QAGI, integrator otomatis untuk rentang tak hingga.

Teknik lain adalah rumus quadrature eksponensial ganda, diterapkan dengan baik untuk interval tak terbatas oleh Ooura .

Untuk cubature, Anda dapat berkonsultasi dengan Encyclopedia of formula cubature oleh Ronald Cools.

GertVdE
sumber
2
Perhatikan bahwa kuadratur eksponensial ganda pada dasarnya adalah metode substitusi; Anda membuat substitusi yang mengubah integral rentang tak terbatas Anda menjadi integral tak terbatas kisaran lainnya yang laju peluruhannya adalah, baik, eksponensial ganda ...
JM
1
@ JP Benar. Dan Anda melakukannya untuk mendapatkan yang terbaik dari rumus penjumlahan Euler-Mclaurin untuk aturan trapesium, seperti halnya transformasi IMT dan transformasi TANH. Sebuah makalah yang bagus tentang sejarah DE yang ditulis oleh salah satu bapak pendiri dapat ditemukan di sini
GertVdE
6

Jika Anda ingat bagaimana quadrature bekerja, maka Anda juga akan tahu satu cara bagaimana memperkirakan integral tak terbatas. Yaitu: untuk quadrature, Anda memperkirakan fungsinyaf(x) Anda ingin mengintegrasikan dengan sesuatu yang serupa, katakanlah jumlahnya banyak f~(x)(atau polinomial piecewise) yang Anda dapat menuliskan integralnya secara analitis. Anda mendapatkanf~ dari f dengan interpolasi pada titik interpolasi - yang kemudian akan menjadi titik quadrature Anda.

Untuk integral tak terbatas, satu pendekatan menggunakan pemikiran yang sama persis. Misalnya, Anda dapat mencoba perkiraanf(x) pada seluruh baris menggunakan fungsi yang lebih sederhana, mis f~(x)=e-x2hal(x) dengan polinomial hal(x) interpolasi itu f(x)ex2di sejumlah titik. Kemudian ada rumus sederhana untuk menghitung integral-f~(x)dx. Pilihan titik interpolasi mengikuti logika yang sama seperti yang dilakukan untuk derivasi quadrature biasa.

Wolfgang Bangerth
sumber
4

Jika Anda ingin menggunakan integrasi Monte Carlo, Anda bisa mulai dengan menggunakan sampling penting dengan sampler yang secara kasar mendekati integrand Anda. Semakin baik sampler Anda cocok dengan integrand Anda, semakin sedikit varians dalam perkiraan integral Anda. Tidak masalah jika domain Anda tidak terbatas selama sampler Anda memiliki domain yang sama.

John D. Cook
sumber