Feedback control via ODE variable coefficients?

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 3K views
forkandwait
Messages
2
Reaction score
0
If one has a simple variable coefficient process like y'(t) = r(t)*y(t), is there a way to control it to a set point by feedback hitting the variable coefficients in r(t)?

I am interested in feedback control of population processes. y'(t) = r*y(t) is simple proportional growth with a constant growth term. I assume one would control this process by "mortality" -- reducing y(t) - u(t) when necessary to keep it under the setpoint. (A delay ODE is the next step...)

I have not seen any reference to adjusting variable coefficients in the controls books I have looked at. I wonder if it is possible to somehow make r(t) a "real" ODE variable so that the conventional models work?

I don't really know what I am talking about here (a lower division ODE class, plus lots of scattered reading is my only background), so feel free to answer appropriately.

Thanks!
 
Engineering news on Phys.org
You might want to look at logistic growth, which can be used to model population growth with a so-called carrying capacity.

Logistic function on WikipediaThe ODE you posted is separable and has a solution family
[itex]y = Ce^{\int_0^t r(t')dt'}[/itex]
This may not serve the purpose you have in mind very well I think.
 
how to

forkandwait said:
If one has a simple variable coefficient process like y'(t) = r(t)*y(t), is there a way to control it to a set point by feedback hitting the variable coefficients in r(t)?

Seems straightforward to me. You make the function r depend on y, for example r= -K*(y- y0) where y0 is the desired population. This makes the derivative of y negative if y is above y0, and positive if it is below, so it shoots stably to the value y0. You can embellish this all kinds of ways to get faster convergence, interesting oscillations, etc.

The main point here is that r is not strictly a function of t only, but it depends on y and the desired population goal y0.
 
I don't think that's quite right. Remember r(t) gets multiplied by y in the equation specified.


Anyway, perhaps the simplest system would be the differential equation which is associated with Newton's law of cooling.

[itex]y' = -K(y - y_0)[/itex]

The set point would be [itex]y_0[/itex]. When [itex]y_0[/itex] is constant, y will exponentially decay to the set point, y_0.

[itex]y = y_0 + Ce^{-Kt}[/itex]

A block diagram is shown below. Note that this simple system may not work well if you want to hit a moving target (y_0 not constant).
 

Attachments

  • unity follower.png
    unity follower.png
    1.7 KB · Views: 585