I have an integration : Int(rp.^2.*G(r,rp)*drp) where the integration is with respect to rp and the limit is on rp : 0->inf and G(r,rp) = 1/r for r>rp and G(r,rp)=1/rp for r<rp How to implement this integral in MatLab.

2 Kommentare

Hi pritha,
For large rp the integral goes like
Int G(r,p) rp^2 drp = Int (1/rp) rp^2 drp = Int rp drp
and unfortunately, since the upper limit for rp is infinity, this integral diverges.
pritha
pritha am 7 Jan. 2024
Hi David,
Thank you for your reply. If i consider the upper limit as 15-20? How will it be constructed in MatLab?

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Torsten
Torsten am 7 Jan. 2024
Verschoben: Torsten am 7 Jan. 2024
syms r R rp real positive
G(r,rp) = piecewise(r<rp,1/rp,r>=rp,1/r);
int(rp^2*G(r,rp),rp,0,R)
ans = 

5 Kommentare

pritha
pritha am 7 Jan. 2024
Thank you so much for your response. It helps me a lot.
Torsten
Torsten am 7 Jan. 2024
The extra distiction for R = r is not necessary since r^2/2 - r^2/6 = r^2/3, thus the formula for r < R will still be valid for r <= R.
pritha
pritha am 10 Jan. 2024
Hi Torsten,
I have a doubt regarding the limit in this problem. Here the limit is given as (0,Inf). Is it possible to handle this limit in this problem?
Torsten
Torsten am 10 Jan. 2024
Bearbeitet: Torsten am 10 Jan. 2024
If r is fixed and R -> Inf, you see from the integration result that the second case (r<R) is the relevant one, and the result is - as already answered by @David Goodmanson - lim(R->Inf) (R^2/2-r^2/6) = Inf
syms r rp real positive
G(r,rp) = piecewise(r<rp,1/rp,r>=rp,1/r);
int(rp^2*G(r,rp),rp,0,Inf)
ans = 
pritha
pritha am 10 Jan. 2024
Thanks a lot.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

am 7 Jan. 2024

Kommentiert:

am 10 Jan. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by