Numerical Double Integral in Matlab
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Torsten
am 23 Sep. 2022
Bearbeitet: Torsten
am 23 Sep. 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
am 23 Sep. 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.
Antworten (1)
Chunru
am 23 Sep. 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)
Siehe auch
Kategorien
Mehr zu Numerical Integration and Differentiation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!