Please help me. I want to integrate the following function from 0 to plus infinity.

syms r r0 sg g(r)=r*exp(-(log(r)-log(r0))^2/(2*sg^2));

6 commentaires

I would assume you REALLY want to integrate from r0 to infinity.
I'm supposed to integrate from 0 to infinity. I'm almost desperate. I have to calculate that.
It's the lognormal distribution.
Look here which functions MATLAB supplies:
Hi ES,
As Torsten has pointed out, you have a log-normal distribution, and that's all you need to start searching around. In your 18.55.57 jpeg expression for zeta, the integral is the log-normal's second moment about the origin. If you go to Wikipedia for example, you can find an algebraic expression for the nth moment..
It's also about the integral, which is in the equation. And that's my problem. I can't implement this with Matlab.
Torsten
Torsten le 2 Fév 2023
Modifié(e) : Torsten le 2 Fév 2023
As you can see under
integral_{r=0}^{r=Inf} r^n * 1/(r*sqrt(2*pi*sigma^2)) * exp(-1/2 * (log(r)-mu)^2 / sigma^2) dr
=
exp( n*mu + 1/2 * n^2*sigma^2)
Both of your two integrals in question follow from this relation for n=2 and n=3.
So your integral becomes
integral_{r=0}^{r=Inf} r^(n-1) * exp(-1/2 * (log(r)-log(r0))^2 / sg^2) dr =
sqrt(2*pi*sg^2) * exp( n*log(r0) + 1/2 * n^2*sg^2)
for n = 2: sqrt(2*pi*sg^2) * r0^2* exp( 2*sg^2)
for n = 3: sqrt(2*pi*sg^2) * r0^3* exp( 4.5*sg^2)

Connectez-vous pour commenter.

Réponses (1)

syms r r0 sg
g(r) = r * exp(-(log(r) - log(r0))^2 / (2 * sg^2));
int_g = int(g,r,0,inf)
int_g = 
Note that the inf keyword represents infinity. The integral of g(r) is calculated over the interval [0,inf). You can also specify other intervals of integration as needed.

Catégories

En savoir plus sur Configure Simulation Conditions dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by