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”.
MATLAB release
MATLAB 8.0 (R2012b)
Other requirements
Requires the platform specific SNOPT mex file and additional MATLAB support functions available at http://scicomp.ucsd.edu/~peg/.