Finite-burn Interplanetary Injection from Earth Orbit SNOPT

A MATLAB script for optimizing finite-burn interplanetary injection trajectories from an initial circular Earth orbit using SNOPT.
1.2K Downloads
Updated 12 Sep 2025

View License

This submission a MATLAB script named fb_hyper_snopt which can be used to determine the characteristics of the optimal finite-burn maneuver required to transfer a spacecraft from an initial circular Earth park orbit to a departure hyperbola. The simulation assumes the propulsive maneuver is continuous, co-planar and modeled as a series of optimal discretized steering angles. This script attempts to minimize the thrust duration of the finite-burn while solving for user-defined hyperbolic boundary conditions at burnout.
The Earth departure trajectory for interplanetary missions is often defined by a “targeting specification” which consists of twice the specific (per unit mass) orbital energy C3, and the right ascension (RLA) and declination (DLA) of the outgoing asymptote. These targets may be supplied by a spacecraft customer or determined with a patched-conic or more sophisticated trajectory analysis computer program that solves Lambert’s problem for an interplanetary mission.
The fb_hyper_snopt MATLAB script determines the Earth-centered-inertial (ECI) orbital elements and state vector of the park orbit at ignition and the departure hyperbola at burnout. The optimization of the maneuver steering angles is performed using the SNOPT nonlinear programming (NLP) algorithm. MATLAB versions of SNOPT for several computer platforms can be requested/purchased at Professor Philip Gill’s web site which is located at http://scicomp.ucsd.edu/~peg/.

Cite As

David Eagle (2025). Finite-burn Interplanetary Injection from Earth Orbit SNOPT (https://se.mathworks.com/matlabcentral/fileexchange/42215-finite-burn-interplanetary-injection-from-earth-orbit-snopt), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2024a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Visualization in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.9.0.0

Updated graphics and PDF documentation

1.8.0.0

Algorithm and PDF documentation updates.

1.7.0.0

Added trajectory verification. Updated PDF document.

1.6.0.0

Added fixed thrust duration example.

1.5.0.0

Update of source code and PDF documentation

1.4.0.0

General software updates

1.3.0.0

General update of main script software and support functions.

1.2.0.0

Changed objective function to thrust duration. Updated PDF. Added main script (escape_64bit.m) that uses the March 17, 2014 version of SNOPT.

1.1.0.0

Option added to read and use a csv data file for the initial guess. Also writes a data file of the current simulation.

1.0.0.0