PDA

Visualizza la versione completa : integrazione numerica tridimensionale


mamo139
18-08-2012, 16:16
Ciao a tutti,

la faccio breve, devo integrare tramite integrazione numerica la seguente equazione.

http://latex.codecogs.com/gif.latex?\int_{-\infty%20}^{+\infty}{\int_{-\infty%20}^{+\infty}{\int_{-\infty%20}^{+\infty}{%20F\left%20(x,y,z%20\right%2 0)\cdot%20g\left%20(%20x,y,z%20\right%20)%20dx%20d y%20dz}}}

la funzione g() è una normale standard trivariata (ovvero questa http://en.wikipedia.org/wiki/Multivariate_normal_distribution)

attualmente uso il seguente metodo per risolverla:
http://latex.codecogs.com/gif.latex?\sum_{i=0}^{n-1}\sum_{j=0}^{n-1}\sum_{h=0}^{n-1}\left%20(%20F\left%20(%20-3.5%20+%20\frac{7}{n}\cdot%20(i+\frac{1}{2}),%20-3.5%20+%20\frac{7}{n}\cdot%20(j+\frac{1}{2}),%20-3.5%20+%20\frac{7}{n}\cdot%20(h+\frac{1}{2})%20\ri ght%20)%20\cdot%20mvncdf\left%20(%20\left%20[%20-3.5%20+%20\frac{7}{n}\cdot%20i;%20-3.5%20+%20\frac{7}{n}\cdot%20j;%20-3.5%20+%20\frac{7}{n}\cdot%20h%20\right%20],%20\left%20[%20-3.5%20+%20\frac{7}{n}\cdot%20(i+1);%20-3.5%20+%20\frac{7}{n}\cdot%20(j+1);%20-3.5%20+%20\frac{7}{n}\cdot%20(h+1)%20\right%20],%20...\right%20)\right%20)

uso matlab per le operazioni quindi la funzione mvncdf ve l'ho scritta con i parametri che prende matlab.

Inutile dire che i tempi di esecuzione sono lunghi e il risultato non pare essere molto preciso. Voi come risolvereste il problema? Come migliorereste tempi di esecuzione e/o la precisione del risultato?

Non sono un asso in matematica (alle elementari si :fagiano: ), nel senso che nel mio corso di studio non c'è tanta matematica.

Grazie :sadico:

EDIT: perche non va il tag img??? :( se fate copia e incolla comunque si vedono :(

MItaly
18-08-2012, 16:56
Originariamente inviato da mamo139
EDIT: perche non va il tag img??? :( se fate copia e incolla comunque si vedono :(
Perché al tag IMG non piacciono le immagini con query string, passale in bit.ly e funzionano.

http://bit.ly/N7Mck4
http://bit.ly/PtDPNQ

Sky
18-08-2012, 23:30
Originariamente inviato da MItaly
Perché al tag IMG non piacciono le immagini con query string, passale in bit.ly e funzionano.

http://bit.ly/N7Mck4
http://bit.ly/PtDPNQ

Ah beh, ora sì che è chiarissima :stordita:
:D

mamo139
19-08-2012, 09:55
Originariamente inviato da Sky
Ah beh, ora sì che è chiarissima :stordita:
:D

E io che mi sono pure preso la briga di scriverlo in latex per migliorare la leggibilità :prrr: :prrr: :prrr: :prrr: :prrr: :prrr:

mamo139
20-08-2012, 11:08
Neanche un tipo tosto come MItaly mi sa aiutare?? :(

deleted_110
20-08-2012, 12:49
sono piuttosto arrugginito con Matlab e attualmente non l'ho installato su nessun PC per poter fare delle prove.

ma mi domando: non esistono delle funzioni preconfezionate per eseguire l'integrazione di una funzione?

tipo questa:

http://www.mathworks.it/help/techdoc/ref/trapz.html

mamo139
20-08-2012, 14:16
Originariamente inviato da raven74
sono piuttosto arrugginito con Matlab e attualmente non l'ho installato su nessun PC per poter fare delle prove.

ma mi domando: non esistono delle funzioni preconfezionate per eseguire l'integrazione di una funzione?

tipo questa:

http://www.mathworks.it/help/techdoc/ref/trapz.html

Si che esistono, ad esempio integral3 oppure triplequad...
però quello su cui io ero interessato è vedere l'algoritmo. Ad esempio l'ultima formula che vi ho mandato è l'algoritmo che ho provato a creare.

deleted_110
20-08-2012, 14:19
Originariamente inviato da mamo139
Si che esistono, ad esempio integral3 oppure triplequad...
però quello su cui io ero interessato è vedere l'algoritmo. Ad esempio l'ultima formula che vi ho mandato è l'algoritmo che ho provato a creare.

pensavo ti interessasse integrare una funzione :bhò:

MItaly
20-08-2012, 14:56
Originariamente inviato da mamo139
Neanche un tipo tosto come MItaly mi sa aiutare?? :(
Sorry, di integrazione numerica so poco-niente. :(

SuperMariano81
20-08-2012, 15:09
Originariamente inviato da MItaly
Perché al tag IMG non piacciono le immagini con query string, passale in bit.ly e funzionano.

http://bit.ly/N7Mck4
http://bit.ly/PtDPNQ
a me pare piuttosto semplice dividi tutto per dxdydz, moltiplica per DydBoy.
7 su n diventa 1, quindi tutto quello che c'è tra parentesi diventa i+1 cioè i1

i indica che è roba apple, quindi da fanboy, quindi tutto torna a DydBoy.
Visto che hai elevato al quadrato DydBoy, devi fare una radice quadrata che è sqrt.

sqrt: f(x,y,z) g(x,y,z) DydBoy^2 i1..... dovrebbe fare 42.

ecco, una roba del genere.

Loading