Numerical Double Integral in Matlab
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I have to do the following integration in matlab
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1133615/image.png)
b is log normally distributed and I have a vector of 100 random number for b call b_rand.
a is a vector of numbers that denotes a Markovian transition probability matrix
[0.1680 0.4098 1.0000 2.4400 5.9537]
I wrote the code as follows, but I am not confident I am doing the right thing. Could someone help?
inner_term = W_t./b
outer_term = a
final_term = inner_term.*outer_term
integral = mean(mean(outer_term)
8 comentarios
Torsten
el 23 de Sept. de 2022
Editada: Torsten
el 23 de Sept. de 2022
If I have a sufficiently long vector of log normally distributed random variables, it is possible to use the trapeziod rule, i.e say if I have a vector of 100 variables with the lbounds being the lowest and highest value in the vector.
Sorry, but this is nonsense. How does the fact that the values for b are generated from a lognormal distribution influence the integral ? b is the independent, not the dependent variable. If you use the trapezoidal rule, you will get the same value as if you use a uniform grid between b_l and b_h.
And how can you Markovian transition probability matrix have values greater than 1 ?
Walter Roberson
el 23 de Sept. de 2022
you will not get the same value, but for a sufficiently dense random sample the value will approach what you would get with a comparably dense uniform grid.
Respuestas (1)
Chunru
el 23 de Sept. de 2022
It seems that the integration is separatable into two 1-D integrations:
inner_term = W_t./b
outer_term = a
final_term = inner_term.*outer_term
integral = trapz(b, inner_term) * trapz(a, outer_term)
Ver también
Categorías
Más información sobre Numerical Integration and Differentiation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!