Symbolic integration has 3 solutions based on integration variable range, how to extract one of these?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Jason Oakley
el 17 de Feb. de 2024
Comentada: Jason Oakley
el 17 de Feb. de 2024
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 comentarios
Respuesta aceptada
Paul
el 17 de Feb. de 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}
Más respuestas (1)
John D'Errico
el 17 de Feb. de 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 comentarios
Paul
el 17 de Feb. de 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)
Ver también
Categorías
Más información sobre Calculus en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!