% Circular-orbit period over a useful altitude range
Re_km = 6378;
mu_km3_s2 = 398600.4418;
h_km = linspace(160, 40000, 800);
r_km = Re_km + h_km;
T_hr = (2*pi*sqrt(r_km.^3 / mu_km3_s2))/3600;

plot(h_km, T_hr, 'LineWidth', 1.8)
hold on
xline(35786, '--', 'GEO altitude');
grid on
xlabel('Altitude above Earth surface (km)')
ylabel('Orbital period (hours)')
title('Circular-orbit period versus altitude')

