Symbolic integration has 3 solutions based on integration variable range, how to extract one of these?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Paul
2024-2-17
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}
更多回答(1 个)
John D'Errico
2024-2-17
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 个评论
Paul
2024-2-17
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)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!