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.

Answers (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 Comments

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

Sign in to comment.

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Asked:

on 22 Jul 2014

Commented:

on 23 Jul 2014

Community Treasure Hunt

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

Start Hunting!