フィルターのクリア

control system toolbox - state space model containing constant vectors

14 ビュー (過去 30 日間)
Abhishek Murthy
Abhishek Murthy 2011 年 8 月 11 日
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

回答 (2 件)

Rajiv Singh
Rajiv Singh 2011 年 8 月 11 日
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 件のコメント
Abhishek Murthy
Abhishek Murthy 2011 年 8 月 12 日
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

サインインしてコメントする。


Fangjun Jiang
Fangjun Jiang 2011 年 8 月 12 日
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 件のコメント
Abhishek Murthy
Abhishek Murthy 2011 年 8 月 12 日
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 2011 年 8 月 12 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeClassical Control Design についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by