In the following example,
lla = eci2lla([-6.07 -1.28 0.66]*1e6,[2010 1 17 10 20 36])
lla = 1×3
1.0e+05 * 0.0001 -0.0008 -1.3940
How do you end up with a negative altitude?
The altitude should be approximately 312000 m.

4 comentarios

Dyuman Joshi
Dyuman Joshi el 7 de Nov. de 2023
Though it is not specified in the documentation of eci2lla about this, but I presume that the altitude is measured from sea-level.
Going under it would give a negative value.
Derrick Early
Derrick Early el 7 de Nov. de 2023
The example should yield a positive altitude.
Dyuman Joshi
Dyuman Joshi el 7 de Nov. de 2023
"The example should yield a positive altitude."
Why? Did you calculate the values by hand and compare?
Derrick Early
Derrick Early el 7 de Nov. de 2023
Oops. I made an error on computing the vector normal. I used
sqrt(sum([-6.07 -1.28 0.66]*1e6).^2)
Instead of
sqrt(sum(([-6.07 -1.28 0.66]*1e6).^2))

Iniciar sesión para comentar.

 Respuesta aceptada

Les Beckham
Les Beckham el 7 de Nov. de 2023
Editada: Les Beckham el 7 de Nov. de 2023
lla = eci2lla([-6.07 -1.28 0.66]*1e6,[2010 1 17 10 20 36]);
lat = lla(1)
lat = 6.0574
lon = lla(2)
lon = -79.8476
So, this point is slightly above the Equator (by about 6 degrees)
dist = vecnorm([-6.07 -1.28 0.66]*1e6) % distance of this point from the center of the Earth
dist = 6.2385e+06
equatorialRadius = 6378e3;
dist - equatorialRadius
ans = -1.3950e+05
alt = lla(3)
alt = -1.3940e+05
So this point is beneath the surface of the Earth by about 140 kilometers (negative altitude).

2 comentarios

Derrick Early
Derrick Early el 7 de Nov. de 2023
Thank you! I messed up on computing the vector magnitude.
Les Beckham
Les Beckham el 7 de Nov. de 2023
You are quite welcome.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2023b

Etiquetas

Preguntada:

el 7 de Nov. de 2023

Comentada:

el 7 de Nov. de 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by