# matlab triple integral conical gravity

3 views (last 30 days)

Show older comments

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??

### Accepted Answer

Mike Hosea
on 29 Nov 2014

Edited: Mike Hosea
on 30 Nov 2014

Numerical stuff removed since a symbolic answer was needed.

### More Answers (2)

Youssef Khmou
on 29 Nov 2014

Edited: Youssef Khmou
on 29 Nov 2014

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));

F1=quad(T,0,z);

the expression of q2 is independent of azimuth theta, you will then multiply q1 by 2pi, try to figure out the solution q3.

Roger Stafford
on 30 Nov 2014

Edited: Roger Stafford
on 30 Nov 2014

##### 0 Comments

### See Also

### Community Treasure Hunt

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

Start Hunting!