It is sometimes necessary to change your orbit semi-major axis, ascending node and inclination with a low-thrust engine. It is easy to do, as long as you can point your engine along orbit normal and tangential to the orbit.
It is easiest to see how this is done by looking at the Gauss’ Variational equations, simplified for small eccentricity.
I is inclination, [pmath size=12]a[/pmath] is semi-major axis, [pmath size=12]mu[/pmath] is the gravitational parameter, [pmath size=12]omega[/pmath] is argument of perigee, [pmath size=12]nu[/pmath] is true anomaly, [pmath size=12]Omega[/pmath] is ascending node. [pmath size=12]a_T[/pmath] and the orbit tangential acceleration and [pmath size=12]a_N[/pmath]is the orbit normal acceleration.
The resulting simulation is shown below. Mode 0 is semi-major axis change, Mode 1 is ascending node change, Mode 2 is inclination change and Mode 3 is off. It is best to change inclination and ascending node at the highest semi-major axis. You should change ascending node at the lowest inclination. The burns are done where the rate of changes are higher. Some change in inclination and ascending. node will happen when the other is being corrected.
The script for this simulation with the controller is part of the Spacecraft Control Toolbox Release 2020.1 coming in May.