# eci2ecef

Position, velocity, and acceleration vectors in Earth-centered Earth-fixed (ECEF) coordinate system

## Syntax

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

## Description

````[r_ecef,v_ecef,a_ecef] = eci2ecef(utc,r_eci,v_eci,a_eci)` calculates position, velocity, and acceleration vectors in Earth-centered Earth-fixed (ITRF) coordinate system for given position, velocity, and acceleration vectors in the Earth-centered inertial mean-equator mean-equinox (J2000) coordinate system at a specific Universal Coordinated Time (UTC).`[r_ecef,v_ecef,a_ecef] = eci2ecef(utc,r_eci,v_eci,a_eci,Name,Value)` calculates the position, velocity, and acceleration vectors at a higher precision using Earth orientation parameters.```

## Examples

collapse all

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

```r_eci = [-2981784 5207055 3161595]; v_eci = [-3384 -4887 4843]; utc = [2019 1 4 12 0 0]; [r_ecef, v_ecef] = eci2ecef(utc, r_eci, v_eci)```
```r_ecef = 1.0e+06 * -5.7627 -1.6827 3.1560 v_ecef = 1.0e+03 * 3.8319 -4.0243 4.8370```

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

```r_eci = [-2981784 5207055 3161595]; utc = [2019 1 4 12 0 0]; mjd = mjuliandate(utc); pm = polarMotion(mjd, 'action', 'none')*180/pi; r_ecef = eci2ecef(utc, r_eci, 'pm', pm)```
```r_ecef = 1.0e+06 * -5.7627 -1.6827 3.1560```

## Input Arguments

collapse all

Universal Coordinated Time (UTC) in the order year, month, day, hour, minutes, and seconds, specified as 1-by-6 array of UTC values:

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

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

Data Types: `double`

Earth-centered inertial mean-equator mean-equinox (J2000) position components, specified as a 3-by-1 array.

Data Types: `double`

Earth-centered inertial mean-equator mean-equinox (J2000) velocity components, specified as a 3-by-1 array.

Data Types: `double`

Earth-centered inertial mean-equator mean-equinox (J2000) acceleration components, specified as a 3-by-1 array.

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

Difference between International Atomic Time (TAI) and Universal Coordinated Time (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 a 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

Earth-centered Earth-fixed position components, specified as a 3-by-1 array.

Earth-centered Earth-fixed velocity components, specified as a 3-by-1 array.

Earth-centered Earth-fixed acceleration components, specified as a 3-by-1 array.

## Limitations

The `eci2ecef` function is available only by installing the Aerospace Blockset™ CubeSat Simulation Library from the Add-On Explorer.

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

## Support Get trial now