Filter löschen
Filter löschen

Condition based integration in MatLab

3 Ansichten (letzte 30 Tage)
pritha
pritha am 7 Jan. 2024
Kommentiert: pritha am 10 Jan. 2024
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
David Goodmanson
David Goodmanson am 7 Jan. 2024
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
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)

Kategorien

Mehr zu Formula Manipulation and Simplification 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!

Translated by