definite integral not giving exact answer

8 vues (au cours des 30 derniers jours)
AgentWindu
AgentWindu le 15 Jan 2020
Commenté : AgentWindu le 16 Jan 2020
Hi,
I have a triple integral with the following code:
inner_int=int(r*sin(phi),phi,[acos(4/5) pi-acos(4/5)])
middle_int=int(inner_int,r,3,5)
Mass_S=int(middle_int,theta,0,2*pi)
The answer I get from the first line is
-r*(cos(175787564848171/70368744177664) - cos(181129459610871/281474976710656))
When it should be 8/5*r
I have tried adding 'IgnoreAnalyticConstraints',true to the end of int but it didn't work. Is there anything I can do to get MATLAB to compute this as an exact solution. For reference the shape to be integrated is a sphere with a cylindircal hole drilled in it and spherical coordinates are required. Thanks

Réponse acceptée

Steven Lord
Steven Lord le 15 Jan 2020
Compute your limits of integration symbolically to avoid roundoff error.
f = sym(4)/5;
a = acos(f);
inner_int = int(r*sin(phi), phi, [a, pi-a])
  1 commentaire
AgentWindu
AgentWindu le 16 Jan 2020
Great
Thanks for your help, this worked

Connectez-vous pour commenter.

Plus de réponses (1)

Cameron B
Cameron B le 15 Jan 2020
Modifié(e) : Cameron B le 15 Jan 2020
I don't know what the issue is. I did this and got 8*r/5. The answer seems to be correct.
syms r
sym(-r*(cos(175787564848171/70368744177664) - cos(181129459610871/281474976710656)))

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by