I'm working on optimization code for a RC Plane competition.

I'm trying to figure out both the distance and the time between when the plane takes off and when it reaches max speed. I already have derived the formulas for thrust, drag and induced drag, as well as the maximum speed, in terms of the various geometric/physical characteristics of the rc plane. The issue is that acceleration due to thrust, drag and induced drag all rely on different exponentiation of velocity, which creates super messy differential equations that even Matlab/Wolfram/Symbolab are unable to solve.

Was wondering if anyone knows a decent approximation function that can be used to calculate this?

The RC plane is battery operated

  • 1
    $\begingroup$ Can you post the salient points of your process? So that we can see if there are problems with it. And be aware that your post might be migrated to drones.se by some moderator $\endgroup$
    – sophit
    Oct 5, 2022 at 5:57
  • $\begingroup$ The problem with trying to accurately predict flight performance on RC model-sized airplanes is that the there is too much variability in the “manufacturing” process to get more than a ballpark estimate. And most RC planes conduct their whole flight in areas smaller than a ballpark ;-) $\endgroup$
    – Jim
    Oct 5, 2022 at 6:18
  • $\begingroup$ How is the manoeuvre to get to max speed? Are you going to take off and climb? Or just flying straight after take off? Anyway the method given by @PeterKämpf is correct and solvable with any spreadsheet $\endgroup$
    – sophit
    Oct 5, 2022 at 7:25

3 Answers 3


Calculate all forces and moments for the state the airplane is in, trim the moments with appropriate control surface deflections and trim vertical forces by setting the correct angle of attack. The imbalance in horizontal forces, divided by the mass, is your acceleration. Integrate over a small timestep and repeat.

The integration will give you the new speed (acceleration x timestep), the new distance covered (speed x timestep) and mass (old mass - fuel consumed). With the change in speed you need to recalculate lift, drag and thrust, so trimming at each timestep is essential.

You will notice that the acceleration term, while shrinking with higher speed, will never completely disappear because the airplane is losing weight when fuel is burnt. It will continue to gain speed, albeit in very small increments, over the whole process.

  • $\begingroup$ Thanks for your answer. We are using battery operated motors to turn the propellers so the acceleration from constant momentum does not apply. Further, as mentioned in my question, I have already found all the horizontal forces (thrust, drag, induced drag). The issue is that they are all in terms of the velocity, therefore creating a differential equation that no software I have used is able to solve. $\endgroup$
    – Ankit
    Oct 5, 2022 at 5:14
  • 4
    $\begingroup$ @Ankit you're trying to solve it analytically, Peter says to give up and solve it numerically $\endgroup$
    – Federico
    Oct 5, 2022 at 10:45

I suspect the problem with the equations is that it will never quite reach maximum speed.

In a simple situation, with a fixed thrust and drag increasing with speed, the acceleration decreases as the drag increases. As the acceleration drops to zero the plane gets closer and closer to a theoretical maximum but never quiet reaches it.


You have all equations for calculating the forces. Set up a spreadsheet in excel with a columns for every force, one for the time and one for the velocity. For the first line, all entries are zero.

At the next line, time is 0.1 (for the next 0.2 and so on). Evaluate all forces.

Next line, do the same as above, but also enter velocity as the value from line above + time delta * force / mass.

Plot it and extract what you need.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.