So I'm trying to figure out how to convert a discrete dynamical system of the form (1) x(k+1) = Ax(k) + Bu(k) to an equivalent continuous-time system, that matches the values of the system in (1) at integer timesteps. I know that this can't be done uniquely for general dynamical systems, but can it be done uniquely for linear dynamical systems?
Going from continuous-time to discrete-time is easy, since for x' = Ax + Bu, we have $x(t) = \int_0^t e^{A(t-\tau)}BU(\tau)d\tau$, so then we can obtain $x(t+1) = e^A x(t) + \int_t^{t+1} e^{A(t+1-\tau)}Bu(\tau)d\tau$.
So then going from discrete to continuous when we have u(t)=0 everywhere is also easy, but I'm not sure how to handle things when u(t)=/=0.
Any thoughts? Even if there isn't a unique way, even some reasonable approach would be interesting.
Thanks.
Assume that we have a discrete time system $$x(k+1)=\bar Ax(k)+\bar Bu(k).$$ I put bars over $A$ and $B$ to distinguish them from the respective matrices in the continuous case.
First, consider the uncontrolled case. We have $\bar A=e^A$, whence $A=\log(\bar A)$. Depending on $\bar A$, the logarithm may or may not exist. Furthermore, even if it exists, it may fail to be real. See Logarithm of a matrix in Wikipedia.
To go a bit farther, assume that a real $A$ exists. Then we need to determine $B$. To do so we assume that the continuous system must agree with the discrete one if the continuous control is obtained by applying a zero-order hold to the discrete samples $u(k)$. That is to say, it should hold that $$\bar B=\int_t^{t+1} e^{A(t+1-\tau)}Bd\tau,$$ whence $$B=(e^A-I)^{-1}A\bar B=(\bar A-I)^{-1}A\bar B.$$ This uniquely determines $B$ as long as the respective inverse exists.