Shifting state space variables by constant value

Hi,
I have a discrete time state space model for which I want to shift the state variables by a constant value. The actual model is as follows,
x(k+1) = Ax(k) + Bu(k)
It is a 4-state system. The goal is to change state variables and input to the following variable.
z(k) = x(k) - c
v(k) = u(k) - c
Where c is a constant. My question here is, how shall this change of variable be implemented to change the state space equation accordingly. Is the following change going to work? I could not see similarity transform working here.
z(k+1) = Az(k)+ Ac + Bv(k) + Bc
Am I missing anything here? Please advise of your thoughts.
Thank you.

回答(1 个)

You gave an incomplete state space equation. What about the output?
y[k]=e.x[k]+d u[k] ,
The output should also change
y[k]=e.(z[k]+c])+d.(v[k]+c)
The states change but not the output

4 个评论

I am so sorry about it.
Output is simply
Y(k) = x(k)
Thank you for your feedback. But what about the x(k+1)? It is a discrete time system. For continuous time system, dx/dt = dz/dt as the derivative of constant c = 0. But what will happen to x(k+1) in discrete time?
Nothing happens to x[k+1],
x(k+1) = Ax(k) + Bu(k)
In your case you have considered another state z[k], you have the choice to work with x or z, just do not forget to change the equations

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Deep Learning Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by