Updated 09 Dec 2019
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 Optimization Toolbox 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”.
David Eagle (2020). Gravity-perturbed Hohmann Transfer - OTB version (https://www.mathworks.com/matlabcentral/fileexchange/73614-gravity-perturbed-hohmann-transfer-otb-version), MATLAB Central File Exchange. Retrieved .