# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English verison of the page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# gravityzonal

Implement zonal harmonic representation of planetary gravity

## Syntax

```[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord)[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, degreeGravityModel)[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel)[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel, degreeGravityModel)[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel, degreeGravityModel, action)[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, 'Custom', equatorialRadius, planetaryGravitional, zonalHarmonicCoeff, action)```

## Description

`[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord)` implements the mathematical representation of zonal harmonic planetary gravity based on planetary gravitational potential. For input, it takes an m-by-3 matrix that contains planet-centered planet-fixed coordinates from the center of the planet in meters. This function calculates the arrays of m gravity values in the x-, y-, and z-axes of the planet-centered planet-fixed coordinates. It uses the fourth order zonal coefficients for Earth by default.

`[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, degreeGravityModel)` uses the degree of harmonic model.

`[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel)` uses the planetary model.

`[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel, degreeGravityModel)` uses the degree of harmonic model and planetary model.

`[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, planetModel, degreeGravityModel, action)` specifies the action for out-of-range input.

```[gravityXcoord gravityYcoord, gravityZcoord] = gravityzonal(planetCoord, 'Custom', equatorialRadius, planetaryGravitional, zonalHarmonicCoeff, action)``` uses the equatorial radius, planetary gravitational parameter, and zonal harmonic coefficients for the custom planetary model.

This function does not include the potential due planet rotation, which excludes the centrifugal effects of planetary rotation and the effects of a precessing reference frame.

## Input Arguments

`planetCoord`

m-by-3 matrix that contains planet-centered planet-fixed coordinates from the center of the planet in meters. If `planetModel` has a value of `'Earth'`, this matrix contains Earth-centered Earth-fixed (ECEF) coordinates.

`planetModel`

Planetary model. Enter one:

• `'Mercury'`

• `'Venus'`

• `'Earth'`

• `'Moon'`

• `'Mars'`

• `'Jupiter'`

• `'Saturn'`

• `'Uranus'`

• `'Neptune'`

• `'Custom'`

`'Custom'` requires you to specify your own planetary model using the `equatorialRadius`, `planetaryGravitional`, and `zonalHarmonicCoeff` parameters.

Default: `'Earth'`

`degreeGravityModel`

Degree of harmonic model.

• `2` — Second degree, J2. Most significant or largest spherical harmonic term, which accounts for the oblateness of a planet. `2` is default if `planetModel` is `'Mercury'`, `'Venus'`, `'Moon'`, `'Uranus'`, or `'Neptune'`.

• `3` — Third degree, J3. `3` is default if `planetModel` is `'Mars'`.

• `4` — Fourth degree, J4 (default). Default is `4` if `planetModel` is `'Earth`, `'Jupiter'`, `'Saturn'` or `'Custom'`.

Default:

`equatorialRadius`

Planetary equatorial radius in meters. Use this parameter only if you specify `planetModel` as `'Custom'`.

`planetaryGravitional`

Planetary gravitational parameter in meters cubed per second squared. Use this parameter only if you specify `planetModel` as `'Custom'`.

`zonalHarmonicCoeff`

3-element array defining the zonal harmonic coefficients that the function uses to calculate zonal harmonics planetary gravity. Use this parameter only if you specify `planetModel` as `'Custom'`.

`action`

Action for out-of-range input. Specify one:

 `'Error'` `'Warning'` `'None'` (default)

## Output Arguments

 `gravityXcoord` Array of m gravity values in the x-axis of the planet-centered planet-fixed coordinates in meters per second squared. `gravityYcoord` Array of m gravity values in the y-axis of the planet-centered planet-fixed coordinates in meters per second squared. `gravityZcoord` Array of m gravity values in the z-axis of the planet-centered planet-fixed coordinates in meters per second squared.

## Examples

Calculate the gravity in the x-axis at the equator on the surface of Earth using the fourth degree model with no warning actions:

```gx = gravityzonal( [-6378.1363e3 0 0] ) gx = 9.8142```

Calculate the gravity using the close approximation method at 100 m over the geographic South Pole of Earth with error actions:

```[gx, gy, gz] = gravityzonal( [0 0 -6356.851e3], 'Error' ) gx = 0 gy = 0 gz = 9.8317 ```

Calculate the gravity at 15000 m over the equator and 11000 m over the geographic North Pole using a second order Mars model with warning actions:

```p = [2412.648e3 -2412.648e3 0; 0 0 3376.2e3] [gx, gy, gz] = gravityzonal( p, 'Mars', 2, 'Warning' ) p = 2412648 -2412648 0 0 0 3376200 gx = -2.6224 0 gy = 2.6224 0 gz = 0 -3.7542 ```

Calculate the gravity at 15000 m over the equator and 11000 m over the geographic North Pole using a custom planetary model with no actions:

```p= [2412.648e3 -2412.648e3 0; 0 0 3376e3] GM = 42828.371901e9 % m^3/s^2 Re = 3397e3 % m Jvalues = [1.95545367944545e-3 3.14498094262035e-5 ... -1.53773961526397e-5] [gx, gy, gz] = gravityzonal( p, 'custom', Re, GM, ... Jvalues, 'None' )```

## Algorithms

`gravityzonal` is implemented using the following planetary parameter values for each planet:

PlanetEquatorial Radius (Re) in MetersGravitational Parameter (GM) in m3/s2Zonal Harmonic Coefficients
(J Values)
Earth6378.1363e33.986004415e14[ 0.0010826269 -0.0000025323 -0.0000016204 ]
Jupiter71492.e31.268e17[0.01475 0 -0.00058]
Mars3397.2e34.305e13 [ 0.001964 0.000036 ]
Mercury2439.0e3 2.2032e130.00006
Moon1738.0e3 4902.799e90.0002027
Neptune24764e3 6.809e150.004
Saturn60268.e3 3.794e16 [0.01645 0 -0.001]
Uranus25559.e35.794e15 0.012
Venus6052.0e3 3.257e140.000027

## References

Vallado, D. A., Fundamentals of Astrodynamics and Applications, McGraw-Hill, New York, 1997.

Fortescue, P., J. Stark, G. Swinerd, (Eds.). Spacecraft Systems Engineering, Third Edition, Wiley & Sons, West Sussex, 2003.

Tewari, A., Atmospheric and Space Flight Dynamics Modeling and Simulation with MATLAB and Simulink, Birkhäuser, Boston, 2007.