Symbolic integration has 3 solutions based on integration variable range, how to extract one of these?
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Paul
le 17 Fév 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}
Plus de réponses (1)
John D'Errico
le 17 Fév 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 commentaires
Paul
le 17 Fév 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)
Voir également
Catégories
En savoir plus sur Solvers dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!