%% COE a partir del VE % –––––––––––––––––––––––––––––––––––––––––––––--------------------------- % UTN -FRH % MECANICA ORBITAL % ELEMENTOS ORBITALES Y VECTOR DE ESTADO % –––––––––––––––––––––––––––––––––––––––––––––--------------------------- % Este programa se utiliza para obtener los elementos orbitales % del vector de estado proporcionado en el ejemplo de clase. % % pi - 3.1415926... % deg - factor para convertir entre grados y radianes % mu - parámetro gravitacional (km^3/s^2) % r - vector de posición (km) en el marco ecuatorial geocéntrico % v - vector de velocidad (km/s) en el marco ecuatorial geocéntrico % coe - elementos orbitales [h e RA incl w TA a] % 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) % a = semieje mayor (km) % T - Período de una órbita elíptica (s) % % Función M del usuario requerida: coe_de_ve % Sub-función requerida: ninguna % –––––––––––––––––––––––––––––––––––––––––––––--------------------------- %% Limpieza close all % Cierra todas las ventanas abiertas clear all % Borra todas las variables guardadas en el Workspace clc % Limpia el Command Window %% Constantes auxiliares deg = pi/180; % Conversion de grados a radianes mu = 398600; % Constante gravitacional de la Tierra (km^3/s^2) G*Me %% Vector estado r = [-6045, -3490, 2500]; % km v = [-3.457, 6.618, 2.533]; % km/s %% Calculo de elementos orbitales clasicos (COE) coe = coe_from_sv(r, v, mu); % [h e RA incl w TA a] %% Impresión de los datos de entrada y los resultados de salida fprintf('–––––––––––––––––––––––––––––––––––––––––––––––––––––\n'); fprintf(' UTN-FRH\n'); fprintf(' MECANICA ORBITAL 2024\n'); fprintf(' Elementos orbitales y vector de estado\n'); fprintf('–––––––––––––––––––––––––––––––––––––––––––––––––––––\n'); fprintf(' Ejemplo COE de VE\n'); fprintf('\n Parametro gravitacional (km^3/s^2) = %g\n', mu); fprintf('\n Vector de estado:\n'); fprintf('\n r (km) = [%g %g %g]', r(1), r(2), r(3)); fprintf('\n v (km/s) = [%g %g %g]', v(1), v(2), v(3)); disp(' '); fprintf('\n Momento angular (km^2/s) = %g', coe(1)); fprintf('\n Excentricidad = %g', coe(2)); fprintf('\n Ascensión recta (deg) = %g', coe(3)/deg); fprintf('\n Inclinación (deg) = %g', coe(4)/deg); fprintf('\n Argumento del perigeo (deg) = %g', coe(5)/deg); fprintf('\n Anomalía verdadera (deg) = %g', coe(6)/deg); fprintf('\n Semieje mayor (km) = %g', coe(7)); % Si la órbita es una elipse, calcular su periodo: if coe(2) < 1 T = 2*pi/sqrt(mu)*coe(7)^1.5; fprintf('\n Periodo:'); fprintf('\n Segundos = %g', T); fprintf('\n Minutos = %g', T/60); fprintf('\n Horas = %g', T/3600); fprintf('\n Días = %g', T/24/3600); end fprintf('\n–––––––––––––––––––––––––––––––––––––––––––––––––––––\n');