I was looking for a formal approach to simplify models of dynamic systems. Say we have a dynamic system given by

$\frac{dx}{dt} = f(t,x,u), ~~~~x(t_0) = x_0$

$y = g(x)$

We know $f$ and $g$ but they are non linear and computationally complex. How does one construct a simplified system model

$\frac{dx}{dt} = \tilde{~f~}(t,x,u), ~~~~x(t_0) = x_0$

$y = g(x)$

I am considering a function approximation approach i.e. to find a function that approximates $f$.

  • 1
    $\begingroup$ As Glougloubarbaki already noted, without giving more detail about the system it is difficult to give you recommendations what method might be appropriate to approximate your dynamics. $\endgroup$ – MrYouMath Feb 28 '18 at 8:40

This is a dangerously broad question. Depending on the context and on $f$, a lot of different approximations may be relevant (for instance, if $f(x)=\sin x+ 10^{-6} x^3$, it is obviously very natural to approximate $f$ by $\tilde f(x)=\sin x$).

However one very common approximation is to linearize $f$, especially if you're interested in dynamics near an equilibrium. For instance, if you consider the pendulum equation $\frac{d^2 x}{dt^2}=-\sin x$ and you are interested in the behaviour for $x \simeq 0$, then a reasonnably approximation is $\frac{d^2 x}{dt^2}=-x$ which can be solved explicitly.

  • $\begingroup$ The range of variation of the inputs $u$ and states $x$ are known. However, there are no straightforward approximations. What other ways are possible? I was also thinking about simulating the model and learning a model from data. But I'm not sure how to go about it $\endgroup$ – yaska Feb 26 '18 at 16:00
  • $\begingroup$ If you want to learn the model from data, you can try linear regression or a neural network. The Andrew Ng Machine Learning course on Coursera will give you lots of good ideas there. $\endgroup$ – Adrian Keister Feb 26 '18 at 17:20

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.