File Exchange

image thumbnail

The Gravity Perturbed Hohmann Transfer

version (672 KB) by David Eagle
MATLAB script for solving the Hohmann transfer problem perturbed by non-spherical Earth gravity.


Updated 20 Jun 2015

View License

PDF document and a MATLAB script named phohmann which can be used to solve the gravity perturbed Hohmann transfer between coplanar and non-coplanar circular Earth orbits. The algorithm starts with a two-body Hohmann transfer initial guess and then uses the SNOPT nonlinear programming (NLP) method to determine the optimum two impulse orbit transfer subject to non-spherical Earth gravity perturbations.
The phohmann script uses modified equinoctial orbital elements to solve the gravity perturbed orbit transfer problem. Additional information about these orbital elements can be found in Appendix B. That appendix also explains how to use components and combinations of these non-singular elements to calculate a variety of orbital element “targets”.

Cite As

David Eagle (2020). The Gravity Perturbed Hohmann Transfer (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)



Updated phohmann.m source code for compatibility with SNOPT, version 7.5 (June 2015).

Added main script (phohmann_64bit.m) that uses the March 17, 2014 version of SNOPT.

Added three-dimensional trajectory graphics. Updated PDF document to reflect this change.

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