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.

Antworten (1)

Azzi Abdelmalek
Azzi Abdelmalek am 22 Jul. 2014
Bearbeitet: Azzi Abdelmalek am 22 Jul. 2014
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 Kommentare

I am so sorry about it.
Output is simply
Y(k) = x(k)
Ok, then y[k] will be
y[k]=z(k)+c
Salman
Salman am 23 Jul. 2014
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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 22 Jul. 2014

Kommentiert:

am 23 Jul. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by