definite integral not giving exact answer

4 次查看(过去 30 天)
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

采纳的回答

Steven Lord
Steven Lord 2020-1-15
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 个)

Cameron B
Cameron B 2020-1-15
编辑:Cameron B 2020-1-15
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)))

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by