Numerical Prediction of Orbital Events

Version 1.1.0 (16.3 MB) by David Eagle
MATLAB script and user's manual for predicting important root-finding and extrema orbital events
99 Downloads
Updated 6 Apr 2023

View License

This submission is an interactive MATLAB script named npoe.m that can be used to propagate spacecraft in Earth orbits and model important orbital events. This script implements a special perturbation solution of orbital motion using a variable step size Runge-Kutta-Fehlberg (RKF78) integration method to numerically integrate Cowell’s form of the system of differential equations. Orbital events are predicted by embedding the RFK78 algorithm within Brent’s derivative-free methods for finding the single roots and extrema of nonlinear equations. The user can control both the integration and root-finding convergence criteria.
This MATLAB script can accurately predict the time and orbital characteristics for any physically realizable user-defined value of the following orbital elements
  • argument of latitude
  • geodetic altitude
  • geodetic latitude
  • right ascension
  • geocentric declination
  • east longitude
  • flight path angle
  • orbital speed
as well as extrema (minimum and maximum values) for these eight orbital elements.
The npoe software can also predict the circumstances of the following mission events
  • spacecraft-to-moon visibility
  • spacecraft-to-sun visibility
  • Earth shadow - penumbra
  • Earth shadow - umbra
  • Moon shadow - penumbra
  • Moon shadow - umbra
  • observer-to-spacecraft visibility
This MATLAB script reads JPL lunar and solar ephemerides in a machine-independent binary format (kernels) which are available from the SPICE web site and by anonymous ftp from ftp://ssd.jpl.nasa.gov/pub/eph/planets/bsp. These *.bsp ephemeris files are IEEE-Little Endian style of binary kernel. This is the binary form native to PC/Linux, PC/Windows and MAC/Intel machines. Additional information about JPL ephemerides can be found at http://naif.jpl.nasa.gov/naif/.
The npoe script uses routines from the MICE software suite to read and evaluate the JPL binary ephemeris file. Platform-specific MICE mex files, support functions and the binary ephemeris file (de430_1850-2150.bsp) are available at naif.jpl.nasa.gov/naif/toolkit_MATLAB.html. MICE is a MATLAB implementation of the SPICE library created by JPL.

Cite As

David Eagle (2024). Numerical Prediction of Orbital Events (https://www.mathworks.com/matlabcentral/fileexchange/106170-numerical-prediction-of-orbital-events), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2020a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0

Several algorithm updates, added elevation angle graphics and cleaned up the source code.

1.0.0