function [r, v] = sv_from_coe(coe,mu) % –––––––––––––––––––––––––––––––––––––––––––––--------------------------- % Esta función calcula el vector de estado (r,v) a partir de los % elementos orbitales clásicos (coe). % % mu - parámetro gravitacional (km^3/s^2) % coe - elementos orbitales [h e RA incl w TA] % donde % h - momento angular (km^2/s) % e - excentricidad % RA - ascensión recta del nodo ascendente (rad) % incl - inclinación de la órbita (rad) % w - argumento del perigeo (rad) % TA - anomalía verdadera (rad) % R3_w - Matriz de rotación sobre el eje z a través del ángulo w % R1_i - Matriz de rotación sobre el eje x a través del ángulo i % R3_W - Matriz de rotación sobre el eje z a través del ángulo RA % Q_pX - Matriz de transformación de perifocal a marco ecuatorial geocéntrico % rp - vector de posición en el marco perifocal (km) % vp - vector de velocidad en el marco perifocal (km/s) % r - vector de posición en el marco ecuatorial geocéntrico (km) % v - vector de velocidad en el marco ecuatorial geocéntrico (km/s) % % Funciones M del usuario requeridas: Ninguna % –––––––––––––––––––––––––––––––––––––––––––––– %% Datos de entrada h = coe(1); e = coe(2); RA = coe(3); incl = coe(4); w = coe(5); TA = coe(6); %% rp y vp rp = (h^2/mu) * (1/(1 + e*cos(TA))) * (cos(TA)*[1;0;0] + sin(TA)*[0;1;0]); vp = (mu/h) * (-sin(TA)*[1;0;0] + (e + cos(TA))*[0;1;0]); %% Matriz de rotación sobre el eje z a través del ángulo w R3_W = [ cos(RA) sin(RA) 0 -sin(RA) cos(RA) 0 0 0 1]; %% Matriz de rotación sobre el eje x a través del ángulo i R1_i = [1 0 0 0 cos(incl) sin(incl) 0 -sin(incl) cos(incl)]; %% Matriz de rotación sobre el eje z a través del ángulo w R3_w = [ cos(w) sin(w) 0 -sin(w) cos(w) 0 0 0 1]; %% Matriz de transformación de perifocal a marco ecuatorial geocéntrico Q_pX = (R3_w*R1_i*R3_W)'; %% Vector estado r = Q_pX*rp; v = Q_pX*vp; % Convertir de columna a fila: r = r'; v = v'; end % –––––––––––––––––––––––––––––––––––––––––––––---------------------------