File Exchange

image thumbnail

Optimal Impulsive Orbital Transfer

version (435 KB) by David Eagle
MATLAB script for the solution of the one and two impulse orbit transfer between two Earth orbits.


Updated 09 Apr 2020

View Version History

View License

PDF document and MATLAB script called oota_matlab.m that can be used to determine optimum one and two impulse orbital transfers between non-coplanar circular and elliptical orbits. The method is general and the initial and final orbits need not be coapsidal. The algorithm is based on the orbit transfer and rendezvous work of Gary McCue, Gentry Lee and David Bender, described in “Numerical Investigation of Minimum Impulse Orbital Transfer”, AIAA Journal, 3, 2328-2334 (1965); and “An Analysis of Two-Impulse Orbital Transfer”, AIAA Journal, 2, 1767-1773 (1964).

Cite As

David Eagle (2021). Optimal Impulsive Orbital Transfer (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (6)

Lamont Granquist

Is there any similar algorithm for 6-element to 6-element transfers? So less about mission planning in advance but more about taking a craft from an actual current orbit to rendezvous with a target orbit -- particularly to bootstrap the process of primer vector analysis of the trajectory. I cooked something up with a basin hopping algorithm wrapped around levenburg-marquardt as a local optimizer wrapped around a lambert solver, but what I did feels a bit hacky.

Jared Johnson

Umut Demir


Thanks for the code but I want to make the calculations only for an interval, for instance; leave the initial orbit between 180 and 200 true anomalies. Could you please help me?


Julio Gonzalez

“Numerical Investigation of Minimum Impulse Orbital Transfer”, AIAA Journal, 3, 2328-2334 (1965);

This is the correct citation.


Yes. Hohmann only describes a transfer between two coplaner circular orbits. This specifically solves the more general problem of minimizing the delta-v between orbits with eccentricities less than 1 (general elliptical problem that includes circular) that might have an inclination difference between them or even be on a different ascending node. The minimum solution will split inclination change in between the two burns.

C.J. Harris

Are there any benefits to this over a simple Hohmann orbital transfer?

MATLAB Release Compatibility
Created with R2017a
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!