Symbolic integration has 3 solutions based on integration variable range, how to extract one of these?
1 view (last 30 days)
Show older comments
r is the integration variable. The integration is:
mom_2 = int((umax*(1-r/Radius)^(1/7))^2*2*pi*r,r,0,Radius)
and the result is:
size(mom_2) = 1 1
Question: how do I access each of these three possible solutions?
For example, I would like to use (50/49)*pi*U_0^2 in further calculations. Thanks ahead of time!
0 Comments
Accepted Answer
Paul
on 17 Feb 2024
syms U_0 r Radius
mom_2 = int((U_0*(1-r/Radius)^(1/7))^2*2*sym(pi)*r,r,0,Radius)
One approach that just extracts the case you want
c = children(mom_2)
case1 = c{1,1}
More Answers (1)
John D'Errico
on 17 Feb 2024
Or do this:
syms r umax Radius
mom_2 = int((umax*(1-r/Radius)^(1/7))^2*2*pi*r,r,0,Radius)
subs(mom_2,Radius,1)
Note that it resolves the three cases into 1.
5 Comments
Paul
on 17 Feb 2024
It's usually better to use assume before calling int to give it some help. In this case, if R>0, we'd try
syms U_0 r Radius
assume(Radius,'positive')
mom_2 = int((U_0*(1-r/Radius)^(1/7))^2*2*sym(pi)*r,r,0,Radius)
Not sure why that didn't work. Instead, we can do
syms rho
assume(rho,'positive')
mom_2 = int((U_0*(1-r/rho)^(1/7))^2*2*sym(pi)*r,r,0,Radius)
mom_2 = subs(mom_2,rho,Radius)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!