Predicting Shadow Conditions of Earth Satellites

Three MATLAB scripts for predicting shadow (Earth eclipse) conditions of satellites in circular and elliptical orbits.

https://sourceforge.net/u/cdeaglejr/profile/

You are now following this Submission

This submission is three MATLAB scripts that can be used to determine if and when a satellite enters the shadow of the Earth. When a satellite is eclipsed an astrodynamist is interested in such things as the times of shadow entrance and exit, and the Sun-satellite geometry. This type of information is useful for such things as sizing solar panel arrays and batteries, and accessing duty cycle requirements. Shadow knowledge also helps engineers evaluate the thermal control requirements and power management characteristics of satellite subsystems.
The first MATLAB script, shadow1, determines the eclipse duration and beta angle for satellites in circular orbits. The second script, shadow2, uses the analytic orbit propagation described in “Fast Orbit Propagator for Graphical Display”, Journal of Guidance, Control and Dynamics, Vol. 14, No. 2, March-April 1991, by F. Landis Markley and James F. Jeletic. The third script, shadow3, numerically integrates the orbital equations of motion while searching for shadow conditions.
The second and third scripts are valid for satellites in circular and elliptical Earth orbits. Both scripts implement a minimization and root-finding solution to the shadow problem. For more realistic shadow predictions, the radius of the Earth in each script is increased by 2% to account for the effect of the atmosphere on the size of the shadow.

Cite As

David Eagle (2026). Predicting Shadow Conditions of Earth Satellites (https://se.mathworks.com/matlabcentral/fileexchange/182101-predicting-shadow-conditions-of-earth-satellites), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0