Small Satellites

Home » Featured » Two Body Problem Numerical Solution,Satellite – Earth

Two Body Problem Numerical Solution,Satellite – Earth

Given initial position and velocity of an earth orbiting satellite at a given instant.In this example we will numerically solve fundamental equation of relative two-body motion to find the maximum altitude(apogee altitude) reached by the satellite.

clc;
clear all;
R0 = [3102 5369 2625];          %[km]
V0 = [-6.426 0.7735 5.943];     %[km/s]
r = norm(R0);           % Initial radius  [km]
v = norm(V0);           % Initial speed   [km/s]
mu = 398600;            % Earth’s gravitational parameter [km^3/s^2]
a = mu/(2*mu/r - v^2);  % Semimajor Axis [km]
T = 2*pi*a^1.5/mu^0.5;  % Orbital period [s]
R_earth = 6378;         % Earth radius [km]
dt = T/1000;            % time step [s]
t = 0;                  % initial time
% Using fourth-order Runge–Kutta method to solve fundamental equation
% of relative two-body motion
F_r = @(R) -mu/(norm(R)^3)*R;
Rd = V0; R  = R0;
i = 1;
while (t <= T)
    Rv(i,:) = R;
    tv(i) =t;
    k_1 = dt*F_r(R);
    k_2 = dt*F_r(R+0.5*k_1);
    k_3 = dt*F_r(R+0.5*k_2);
    k_4 = dt*F_r(R+k_3);
    Rd  = Rd + (1/6)*(k_1+2*k_2+2*k_3+k_4);
    R   = R + Rd*dt;
    t   = t+dt;
    i = i+1;
end
rn = (Rv(:,1).^2+Rv(:,2).^2+Rv(:,3).^2).^0.5;
Alt = rn - R_earth; % Altitude Vector
Alt_max  = max(Alt); % [km]
fprintf('Maximum Altitude = %4.2f [km] \n',Alt_max);
Maximum Altitude = 6249.10 [km]

Ploting the altitude variation during one orbit

figure(1);
hold on;grid on;
plot(tv/3600,Alt);
ylabel('Altitude [km]');
xlabel('Time [hour]');
title('Satellite altitude variation during one orbit');

Earth_Satellite_two_body_problem_01

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Recent Post

%d bloggers like this: