Shifting state space variables by constant value

8 Ansichten (letzte 30 Tage)
Salman
Salman am 22 Jul. 2014
Kommentiert: Azzi Abdelmalek am 23 Jul. 2014
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
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?
Azzi Abdelmalek
Azzi Abdelmalek am 23 Jul. 2014
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.

Community Treasure Hunt

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

Start Hunting!

Translated by