Borrar filtros
Borrar filtros

control system toolbox - state space model containing constant vectors

14 visualizaciones (últimos 30 días)
I am trying to create a state space model using ss. My system has the following format:
dx/dt = Ax + Bu + f
y = Cx + Du
(x,y and u are states, outputs and inputs resp)
f is a constant real valued vector.
How can I create such models in control toolbox?
After this, I would like to obtain the discrete time equivalent.
Please help.
Abhishek

Respuestas (2)

Rajiv Singh
Rajiv Singh el 11 de Ag. de 2011
One way is to add a new state to the system whose derivative is zero.
Let X = [x; x2] where x2 is a single variable if f is a scalar.
dX/dt = [A 1; 0 0] X + [B; 0] u
y = [C 0] X + Du
X(0) = [x(0); f]
  1 comentario
Abhishek Murthy
Abhishek Murthy el 12 de Ag. de 2011
Thanks for the reply!
These linear systems are actually "pieces" of a PWA non-linear system. So the initially condition one piece is the final condition of the previous "piece".
I will revert back once I understand how your suggestion will affect this process.
Abhishek

Iniciar sesión para comentar.


Fangjun Jiang
Fangjun Jiang el 12 de Ag. de 2011
That means your input has an offset. For example Define New_u=u+Offset, so u=New_u-Offset and put it in your equation.
dx/dt=Ax+B(New_u-Offset)+f;
y=Cx+D(New_u-Offset)
And solve: B*Offset=f for the value of Offset. All shall be proper size matrix.
And you don't need to worry about the constant term at y=Cx+D*New_u-D*Offset because it is just a constant term at your output.
  2 comentarios
Abhishek Murthy
Abhishek Murthy el 12 de Ag. de 2011
Thanks for the reply. I want to make sure, I understand your answer completely:
Are you suggesting that the new system will look this?
dx/dt = Ax + B(New_u)
y = Cx + D(New_u)
After the designing the controller with the above state space equations, during operation,
the actual input u to the system will be New_u-offset and output from the system will be be shifted by D*offset ?
Thanks again.
Fangjun Jiang
Fangjun Jiang el 12 de Ag. de 2011
Yes. That's what I remembered. After using ss() to solve your problem, your original input and output are just off by a constant term.

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by