Problem 45797. SatCom #5: Determine Elliptical Orbit Parameters
Satellite and Space Engineering  Problem #5
This is part of a series of problems looking at topics in satellite and space communications and systems engineering.
Many satellites orbit the Earth along an elliptical path, where the Earth is centred at one of the focii of the ellipse. Typically we might know the apogee (maximum distance of the satellite from the Earth's surface) and perigee (smallest distance from the Earth) of the satellite orbit. In order to model the orbit, however, we often need to know the parameters of the orbit ellipse, i.e. the semimajor axis (half the maximum dimension of the ellipse), the semiminor axis (half of the minimum dimension) and the eccentricity (a measure of how circular the orbit is).
You are given the apogee altitude (in km) and the perigee altitude (in km). Calculate the semimajor axis length (in km), the semiminor axis length (in km) and the eccentricity (as a ratio).
You should take the radius of the Earth to be 6371km.
Hint: See: https://www.physicsforums.com/threads/eccentricityoforbitapogeeandperigeepositionsanddistances.248164/ .
Example 1: Assume that the International Space Station is in an orbit with (roughly) an apogee of 381 km and a perigee of 372 km. It therefore has a semimajor axis of 6,747.5 km, a semiminor axis of 6,747.498 km and an eccentricity of 0.000669 (i.e. its orbit is virtually circular).
Example 2: A 'Molnya' orbit is a highlyeliptical inclined orbit with good coverage over high and low latitudes. It has (roughly) an apogee of 39,700 km and a perigee of 600 km. It has a semimajor axis of around 26,500 km, a semiminor axis of around 17,900 km and an eccentricity of 0.737.
Some future problems in this series will build on work done in previous problems, so if you get a working solution I suggest you hang onto the code!
Solution Stats
Problem Comments

4 Comments
My code passes Test 1 through 4 but fails on Test 5 with the following error message:
Error using contains
First argument must be text.
Test 5 follows:
%%
s=importdata('orbit_ellipse.m');
y_correct=false;
assert(isequal(sum(contains(s,'regexp')),y_correct))
@George The problem is the comment on the first line of your solution, which throws off importdata(). Try removing that comment and it should work.
Thank you Christian.
This was driving me "crazy" :}
George Berken
@George Welcome! :)
Solution Comments
Show commentsProblem Recent Solvers72
Suggested Problems

4501 Solvers

3278 Solvers

2240 Solvers

453 Solvers

Let's get back to school, and create multiplication tables
206 Solvers
More from this Author17
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!