# keplerian2ijk

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

Since R2019a

## Syntax

``[r_ijk,v_ijk] = keplerian2ijk(a,ecc,incl,RAAN,argp,nu)``
``[r_ijk,v_ijk] = keplerian2ijk(___,Name,Value)``

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

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