# ecef2eci

Position and velocity vectors in Earth-centered inertial mean-equator mean-equinox

## Syntax

``[r_eci] = ecef2eci(utc,r_ecef)``
``[r_eci,v_eci] = ecef2eci(___,v_ecef)``
``[r_eci,v_eci,a_eci] = ecef2eci(___,a_ecef)``
``[r_eci,v_eci,a_eci] = ecef2eci(___,Name,Value)``

## Description

example

````[r_eci] = ecef2eci(utc,r_ecef)` calculates the position vector in the Earth-centered inertial (ECI) coordinate system for a given position vector in the Earth-centered Earth-fixed (ECEF) coordinate system at a specific Coordinated Universal Time (UTC). For more information on the Earth-centered Earth-fixed coordinate system, see Algorithms.`[r_eci,v_eci] = ecef2eci(___,v_ecef)` calculates the position and velocity vectors for given position and velocity vectors. `[r_eci,v_eci,a_eci] = ecef2eci(___,a_ecef)` calculates the position, velocity, acceleration vectors for given position, velocity, and acceleration vectors. `[r_eci,v_eci,a_eci] = ecef2eci(___,Name,Value)` calculates the position, velocity, and acceleration vectors at a higher precision using Earth orientation parameters. ```

## Examples

collapse all

Convert the ECEF position and velocity to ECI at 12:00 on January 4, 2019.

```r_ecef = [-5762640 -1682738 3156028]; v_ecef = [3832 -4024 4837]; utc = [2019 1 4 12 0 0]; [r_eci, v_eci] = ecef2eci(utc, r_ecef, v_ecef);```
```r_eci = 1.0e+06 * -2.9818 5.2070 3.1616 v_eci = 1.0e+03 * -3.3837 -4.8870 4.8430```

Convert the ECEF position to ECI at 12:00 on January 4, 2019, including the effects of polar motion.

```r_ecef = [-5762640 -1682738 3156028]; utc = [2019 1 4 12 0 0]; mjd = mjuliandate(utc); pm = polarMotion(mjd, 'action', 'none')*180/pi; r_eci = ecef2eci(utc, r_ecef, 'pm', pm);```
```r_eci = 1.0e+06 * -2.9818 5.2070 3.1616```

Convert ECEF position and velocity to ECI at 12:00 on January 4, 2019 with `datetime` array `utcDT`.

```r_ecef = [-5762640 -1682738 3156028]; v_ecef = [3832 -4024 4837]; utcDT = datetime(2019, 1, 4, 12, 0, 0) [r_eci, v_eci] = ecef2eci(utcDT, r_ecef, v_ecef)```
```utcDT = datetime 04-Jan-2019 12:00:00 r_eci = 1.0e+06 * -2.9818 5.2070 3.1616 v_eci = 1.0e+03 * -3.3837 -4.8870 4.8430```

## Input Arguments

collapse all

Universal Coordinated Time (UTC) specified as one of these:

• 1-by-6 array of UTC values in the order year, month, day, hour, minutes, and seconds:

Time ValueEnter
YearDouble value that is a whole number greater than 1, such as `2013`.
MonthDouble value that is a whole number greater than 0, within the range `1` to `12`.
DayDouble value that is a whole number greater than 0, within the range `1` to `31`.
HourDouble value that is a whole number greater than 0, within the range `1` to `24`.
Minute and secondDouble value that is a whole number greater than 0, within the range `1` to `60`.
• Scalar `datetime` array. To create the array, use the `datetime` function.

Example: `[2000 1 12 4 52 12.4]`

Data Types: `double`

Array of ECEF position components, specified as a 3-by-1 array.

Data Types: `double`

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

Data Types: `double`

ECEF acceleration components, specified as a 3-by-1 array.

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: `'dUT1',0.234`

Difference between International Atomic Time (TAI) and UTC, specified as a scalar, in seconds.

Example: 32

Data Types: `double`

Difference between UTC and Universal Time (UT1), specified as a scalar, in seconds.

Example: 0.234

Data Types: `double`

Polar displacements due to the motion of Earth crust along the x- and y-axis, in degrees.

Tip

To calculate the displacement, use the `polarMotion` function.

Example: `pm = polarMotion(mjd, 'action', 'none')*180/pi;`

Data Types: `double`

Adjustment to the location of the Celestial Intermediate Pole (CIP), in degrees, specified as a comma-separated pair consisting of `dCIP` and an M-by-2 array. This location (dDeltaX, dDeltaY) is along the x- and y- axes. By default, this function assumes a 1-by-2 array of zeroes.

For historical values, see the International Earth Rotation and Reference Systems Service Web site (`https://www.iers.org`) and navigate to the Earth orientation data Data/Products page.

• M-by-2 array

Specify an M-by-2 array of location adjustment values, where M is the number of direction cosine or transformation matrices to be converted. Each row corresponds to one set of dDeltaX and dDeltaY values.

Example: `[-0.2530e-6 -0.0188e-6]`

Data Types: `double`

Excess length of day (difference between astronomically determined duration of day and 86400 SI seconds), specified as a scalar, in seconds.

Example: 32

Data Types: `double`

## Output Arguments

collapse all

ECI position components, specified as a 3-by-1 array.

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

ECI acceleration components, specified as a 3-by-1 array.

## Algorithms

The `ecef2eci` function uses these Earth-centric coordinate systems:

• Earth Centered Inertial Frame (ECI) — The inertial frame used is the International Celestial Reference Frame (ICRF). This frame can be treated as equal to the ECI coordinate system realized at J2000 (Jan 1 2000 12:00:00 TT). For more information, see ECI Coordinates.

• Earth-centered Earth-fixed Frame (ECEF) — The fixed-frame used is the International Terrestrial Reference Frame (ITRF). This reference frame is realized by the IAU2000/2006 reduction from the ICRF coordinate system. For more information, see ECEF Coordinates.

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

 Gottlieb, R. G., "Fast Gravity, Gravity Partials, Normalized Gravity, Gravity Gradient Torque and Magnetic Field: Derivation, Code and Data," Technical Report NASA Contractor Report 188243, NASA Lyndon B. Johnson Space Center, Houston, Texas, February 1993.

 Konopliv, A. S., S. W. Asmar, E. Carranza, W. L. Sjogen, D. N. Yuan., "Recent Gravity Models as a Result of the Lunar Prospector Mission, Icarus", Vol. 150, no. 1, pp 1–18, 2001.

 Lemoine, F. G., D. E. Smith, D.D. Rowlands, M.T. Zuber, G. A. Neumann, and D. S. Chinn, "An improved solution of the gravity field of Mars (GMM-2B) from Mars Global Surveyor", Journal Of Geophysical Research, Vol. 106, No. E10, pp 23359-23376, October 25, 2001.

 Seidelmann, P.K., Archinal, B.A., A’hearn, M.F. et al. "Report of the IAU/IAG Working Group on cartographic coordinates and rotational elements: 2006." Celestial Mech Dyn Astr 98, 155–180 (2007).