# matlab triple integral conical gravity

1 次查看（过去 30 天）
Mia Bodin 2014-11-29

Hi everyone,
I'm trying to solve a triple integral in matlab, demonstrating the gravity on a point mass inside a cone. I have solved this byy hand and it works fine with a simple u sub. Does anyone have any ideas why my code isn't working. Thanks!
I've tried:
function F = conical_gravity(r,z,th) % parameters
syms G p r th z h
T = (p*G*r*z)/((r^2+z^2)^(3/2));
F1 = int(T,r,0,z)
F2 = int(F1,z,0,h)
F3 = int(F2,th,0,2*pi)
end
this:
syms G p r z th h a
T = (p*G*r*z)*((r^2+z^2)^(-3/2));
q1 = int(T,r,0,z)
q2 = int(q1,th,0,2*pi)
q3 = int(q2,z,0,h)
and this:
syms th r z h G p
T = (p*G*r*z)*((r^2+z^2)^(-3/2));
int(int(int(T,r,0,z),th,0,2*pi),z,0,h)
along with the previous was using integral3.
Any ideas??
##### 2 个评论显示 1更早的评论隐藏 1更早的评论
Mia Bodin 2014-11-29

### 采纳的回答

Mike Hosea 2014-11-29

Numerical stuff removed since a symbolic answer was needed.
##### 5 个评论显示 4更早的评论隐藏 4更早的评论
Mia Bodin 2014-11-30
Thank you so much that helped a ton!

### 更多回答（2 个）

Youssef Khmou 2014-11-29

I think that working with symbolic variables will not permit the transformation of integral expressions to numeric type, however if you only want general primitive do not use the bounds :
q1 = int(T,r)
You can proceed as the following, the second integral is based on first, so as the third, in each integral the bold case represents the variable on which we integrate :
G=6.67e-11;
z=2;
p=2;% p=mv
r=4;
T=@(R) (p*G*R*z)/((r^2+z^2)^(3/2));
the expression of q2 is independent of azimuth theta, you will then multiply q1 by 2pi, try to figure out the solution q3.
##### 1 个评论显示 无隐藏 无
Mia Bodin 2014-11-29
the only thing is I need to integrate over those bound. Without out doing so I will be unable to obtain the correct answer. You see I'm not trying to get the numerical answer right now, i need the analytic solution, which will be G*p*pi*h*(2-sqrt(2).

Roger Stafford 2014-11-30

I have a very ancient version of the Symbolic Toolbox, but it has trouble with substituting z for (z^2)^(1/2) if you integrate with respect to r first because it doesn't know that z is never negative until too late. Unfortunately you would run into the same kind of trouble if you integrated with respect to z first, because it doesn't know yet that r is never negative. However, I believe later versions will permit you to place constraints on your symbolic variables to avoid this trouble. You might try that.

### 类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

### Community Treasure Hunt

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

Start Hunting!

Translated by