Hello I am modeling a vehicle that has a seperately excited DC motor as the power plant utilizing the constant-torque and constant-power regions for traction. The acceleration is governed by the following equation $$ M \frac{dv}{dt} = F_t -(\beta_1+\beta_2v^{2}+\beta_3v) $$

velocity profile

The problem with my model is that the $\beta_1$ component, the rolling resistance, is a constant value and causes the velocity to go negative for the first 0.7 seconds when the model is executed . Any suggestion on how to fix this issue?

  • $\begingroup$ To complement BikerDude's answer, the terms with even powers of velocity (i.e. v^0 and v^2) could also be multiplied by the "sign function" (i.e. 1 or -1 or 0) of the velocity. $\endgroup$
    – Pete W
    Mar 3, 2021 at 20:15

2 Answers 2


If this is the case, the equation either needs a domain readjustment(so, valid from t∈[0.7,∞]) or an equation redefinition.

Using a piecewise function would look like: $$ M \frac{dv}{dt} = F_t -(\beta_1+\beta_2v^{2}+\beta_3v), t∈[0.7,∞] $$ $$ M \frac{dv}{dt} = 0, t∈(0,0.7) $$

Friction, is just a reactionary force. For rolling resistance can be modelled as an example of a dynamic friction. Hence, until motion occurs, $$F_t = β_1$$ Then, you should get better looking profiles.

Another way to do this would be to have a criteria, where the reactionary $β_1$ is just as big as $F_t$.

Therefore, $$ M \frac{dv}{dt} = F_t -(\beta_1+\beta_2v^{2}+\beta_3v), t∈[0,∞] $$ Where $$ \beta_1 =F_t, F_t∈[0,\beta_{max}] $$ $$ \beta_1 =\beta_{max}, F_t∈[\beta_{max},∞] $$

Here, $\beta_{max} $ is your initial value of $\beta_1$

  • $\begingroup$ Thanks for your insight, the domain readjustment won't work in this situation since F_t is not constant, forgot to mention that. However, you've given me a possible solution whereby I will try to implement a conditional statement block that only allows forward motion if the F_t > B_1. $\endgroup$
    – james
    Mar 3, 2021 at 21:48
  • $\begingroup$ Awesome! My edit might be helpful with your mathematical model. The last equation is valid over all +ve time. $\endgroup$
    – BikerDude
    Mar 3, 2021 at 22:32

I solved the issue with a switch function block, it not the best solution but it works for my basic simulation. Thanks againfunction block


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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