Metode numerik untuk membalikkan transformasi integral?

11

Saya mencoba membalikkan transformasi integral berikut secara numerik:

F(y)=0yexp[12(y2+x2)]I0(xy)f(x)dx

Jadi untuk saya perlu memperkirakan f ( x ) di mana:F(y)f(x)

  • dan F ( y ) adalah nyata dan positiff(x)F(y)(mereka adalah distribusi probabilitas kontinu)
  • adalah nyata dan positifx,y(besarnya)

Saya memiliki metode yang sangat berantakan dan kasar untuk melakukan ini saat ini:

Saya mendefinisikan dan spline pada serangkaian poin, nilai-nilai dari poin splined 'ditebak' dengan sampling acak, yang menghasilkan prediksi F ( y ) . Algoritma genetika dasar yang saya tulis meminimalkan perbedaan antara array F ( y ) yang diprediksi dan diukur . Saya kemudian mengambil f ( x ) yang disatukan oleh algoritma sebagai jawaban saya untuk inversi.f(x)F(y)F(y)f(x)

Pendekatan ini bekerja cukup baik untuk beberapa kasus sederhana, tetapi terasa berantakan bagi saya dan tidak terlalu kuat.

Adakah yang bisa memberi saya panduan tentang cara yang lebih baik untuk menyelesaikan masalah ini?

Terima kasih atas waktu & bantuan Anda!

[diposting di x di computercience]

CBowman
sumber

Jawaban:

13

Metode yang cukup sederhana adalah memilih basis dalam ruang fungsi dan mengubah transformasi integral menjadi matriks. Maka Anda bisa membalikkan matriks.

Secara matematis, inilah cara kerjanya: Anda memerlukan beberapa fungsi dasar ortonormal . (Anda bisa lolos tanpa mereka yang dinormalisasi juga, tapi lebih mudah untuk menjelaskan dengan cara ini.) Ortonormal berarti bahwa produk dalam T i , T j=Ti(x) , di manaTi,Tj=δij

(1)Ti,TjabW(x)Ti(x)Tj(x)dx=δij

Di sini adalah beberapa fungsi bobot. Itu dan batas a dan b terkait dengan pilihan T i Anda . Setelah Anda memilih rangkaian fungsi dasar mana yang akan digunakan, Anda dapat memasukkan kode batasan dan fungsi bobot ke dalam program Anda.W(x)abTi

Dengan menggunakan ortonormalitas, Anda dapat mengekspresikan fungsi apa pun, seperti dan F ( y ) , sebagai kombinasi linear dari fungsi-fungsi dasar ini:f(x)F(y)

(2)f(x)=iciTi(x)F(y)=jCjTj(y)

di mana koefisien dihitung sebagai

(3)ci=f,Ti=abW(x)f(x)Ti(x)dx(4)Cj=F,Tj=abW(y)F(y)Tj(y)dy

Anda dapat memverifikasi bahwa ekspresi ini konsisten dengan definisi koefisien, mis. (2), dan ortonormalitas, eq. (1)

Sekarang, hitung transformasi dari masing-masing fungsi dasar; sebut saja .T~i(y)

T~i(y)0yexp[12(y2+x2)]I0(xy)Ti(x)dx

adalah fungsi, dan Anda dapat mengekspresikannya sebagai kombinasi linear dari fungsi basis seperti yang kami lakukan denganf(x)danF(y):T~i(y)f(x)F(y)

T~i(y)=kAikTk(y)

di mana elemen matriks ditentukan dengan cara yang sama seperti yang kami temukan c i dan C j di atas:AikciCj

(5)Aik=T~i,Tk=abW(y)T~i(y)Tk(y)dy

ikTi(x)W(x)

AikciCjf(x)F(y)

jCjTj(y)F(y)=0yexp[12(y2+x2)]I0(xy)iciTi(x)f(x)dx=ici0yexp[12(y2+x2)]I0(xy)Ti(x)dx=icikAikTk(y)

CT

(jCjTj),T=(icikAikTk),TabW(y)jCjTj(y)T(y)dy=abW(y)icijAikTk(y)T(y)dyjCjabW(y)Tj(y)T(y)dy=icikAikabW(y)Tk(y)T(y)dyjCjδj=icikAikδkC=iciAi

Cj

CjciAijciAijCjF(y)

F(y)Cj

Cj=iciAij

A

ij1NNf(x)T1(x),,TN(x)1MF(y)T1(y),,TM(y)M=NMNNciAM×NA11ANM

[1,1]TiW(x)=11x2a=1b=1Ti,Tj=δijπ/2i=j0T0,T0=π

David Z
sumber