keplerian2ijk

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

Description

example

[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.

Examples

collapse all

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 =
   1.0e+06 *
   -2.7489
    5.4437
    2.8977

v_ijk =
   1.0e+03 *
   -3.5694
   -4.5794
    5.0621

Convert 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 =

   1.0e+06 *
    6.1804
   -1.6560
         0

v_ijk =

   1.0e+03 *
    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 Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside quotes. You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

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, specified as a 3-by-1 array.

Geocentric equatorial velocity components, specified as a 3-by-1 array.

References

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

Introduced in R2019a