Main Content

keplerian2ijk

Position and velocity vectors in geocentric equatorial coordinate system using Keplerian orbit elements

Description

[r_ijk,v_ijk] = keplerian2ijk(a,ecc,incl,RAAN,argp,nu) calculates the position and velocity vectors in the geocentric equatorial coordinate system (IJK) for given Keplerian orbit elements of noncircular, inclined orbits.

[r_ijk,v_ijk] = keplerian2ijk(___,Name,Value) specifies orbit element properties using one or more name-value pair arguments. For example, 'truelon','17' specifies the angle between the x-axis and CubeSat position vector. Specify name-value pair arguments after all other input arguments.

example

Examples

collapse all

This example shows how to convert Keplerian orbital elements to geocentric equatorial coordinate system (IJK) position and velocity.

a = 6786230;
ecc = .01;
incl = 52;
RAAN = 95;
argp = 93;
nu = 300;
[r_ijk, v_ijk] = keplerian2ijk(a, ecc, incl, RAAN, argp, nu)
r_ijk = 3×1
106 ×

   -2.7489
    5.4437
    2.8977

v_ijk = 3×1
103 ×

   -3.5694
   -4.5794
    5.0621

This example shows how to onvert Keplerian orbital elements to geocentric equatorial coordinate system (IJK) position and velocity for equatorial orbit.

a = 6786230;
ecc = .1;
incl = 0;
RAAN = 95;
argp = 93;
nu = 300;
lonper = 45;
[r_ijk, v_ijk] = keplerian2ijk(a, ecc, incl, RAAN, argp, nu, 'lonper', lonper)
r_ijk = 3×1
106 ×

    6.1804
   -1.6560
         0

v_ijk = 3×1
103 ×

    1.4489
    7.9848
         0

Input Arguments

collapse all

Semimajor axis (half of the longest diameter) of the orbit, specified as a scalar, in meters.

Data Types: double

Orbit eccentricity (deviation of orbital curve from circular), specified as a scalar.

Data Types: double

Inclination (tilt angle) of the orbit, in degrees.

Data Types: double

Angle in the equatorial plane from the x-axis to the location of the ascending node, point at which the satellite crosses the equator from south to north, in degrees. The function does not use this value for equatorial orbits.

Data Types: double

Angle between the CubeSat ascending node and the periapsis (closest point of orbit to Earth), in degrees. The function does not use this value for circular and equatorial orbits.

Data Types: double

Angle between the periapsis and the current position of CubeSat, in degrees. The function does not use this value for circular orbits.

Data Types: double

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 45

Angle between the x-axis and the CubeSat position vector, in degrees. The function uses this value only for circular equatorial orbits (where eccentricity and inclination are zero).

Data Types: double

Angle between the ascending node and the CubeSat position vector, in degrees. The function uses this value only for circular inclined orbits (where eccentricity is zero and inclination is nonzero).

Data Types: double

Angle between the x-axis and the eccentricity vector, in degrees. The function uses this value only for noncircular equatorial orbits (where eccentricity is nonzero and inclination is zero).

Data Types: double

Output Arguments

collapse all

Geocentric equatorial position components, returned as a 3-by-1 array, in meters.

Geocentric equatorial velocity components, returned as a 3-by-1 array, in m/s.

References

[1] Vallado, D. A. Fundamentals of Astrodynamics and Applications. alg. 5. McGraw-Hill, 1997.

Version History

Introduced in R2019a