Metodi numerici per invertire le trasformazioni integrali?


11

Sto provando a invertire numericamente la seguente trasformazione integrale:

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

Quindi per una data ho bisogno di approssimare f ( x ) dove:F(y)f(x)

  • e F ( y ) sono reali e positivif(x)F(y)(sono distribuzioni di probabilità continue)
  • sono reali e positivix,y(sono magnitudini)

Ho un metodo molto disordinato e bruto per farlo al momento:

Definisco e la spline su una serie di punti, i valori dei punti scanalati vengono "indovinati" mediante campionamento casuale, che produce una F ( y ) prevista . Un algoritmo genetico di base che ho scritto minimizza la differenza tra l' array F ( y ) previsto e misurato . Prendo quindi la f ( x ) a cui converge l'algoritmo come mia risposta per l'inversione.f(x)F(y)F(y)f(x)

Questo approccio funziona abbastanza bene in alcuni casi semplici, ma mi sembra disordinato e non particolarmente robusto.

Qualcuno può darmi una guida su modi migliori per risolvere questo problema?

Grazie per il tuo tempo e aiuto!

[x-pubblicato su computerscience]

Risposte:


13

Un metodo abbastanza semplice sarebbe quello di scegliere una base nello spazio funzionale e convertire la trasformazione integrale in una matrice. Quindi puoi semplicemente invertire la matrice.

Matematicamente, ecco come funziona: hai bisogno di un insieme di funzioni di base ortonormali . (Si può ottenere via senza che vengano normalizzati troppo, ma è più facile da spiegare in questo modo.) Mezzi ortonormali che il prodotto interno T I , T j= δ i j , doveTi(x)Ti,Tj=δij

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

Qui è una funzione di peso. Questo, e il limite a e b sono legati alla scelta del T i . Una volta scelto quale set di funzioni di base utilizzare, è possibile codificare i limiti e la funzione di peso nel programma.W(x)abTi

Usando l'ortogonalità, puoi esprimere qualsiasi funzione, come e F ( y ) , come combinazioni lineari di queste funzioni di base:f(x)F(y)

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

dove i coefficienti sono calcolati come

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

Puoi verificare che queste espressioni siano coerenti con le definizioni dei coefficienti, eq. (2) e l'ortogonalità, eq. (1).

Ora, calcola la trasformazione di ciascuna delle funzioni di base; Chiamiamolo .T~i(y)

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

è una funzione, quindi puoi esprimerla come una combinazione lineare delle funzioni di base proprio come abbiamo fatto conf(x)eF(y):T~i(y)f(x)F(y)

T~i(y)=kAikTk(y)

dove gli elementi della matrice sono determinati nello stesso modo in cui abbiamo trovato c i e C j sopra: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=π

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.