control system toolbox - state space model containing constant vectors

14 views (last 30 days)
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

Answers (2)

Rajiv Singh
Rajiv Singh on 11 Aug 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 Comment
Abhishek Murthy
Abhishek Murthy on 12 Aug 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

Sign in to comment.


Fangjun Jiang
Fangjun Jiang on 12 Aug 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 Comments
Abhishek Murthy
Abhishek Murthy on 12 Aug 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 on 12 Aug 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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!