How can i obtain response of MIMO for different 2 input?

1 回表示 (過去 30 日間)
Volkan Yangin
Volkan Yangin 2020 年 12 月 2 日
編集済み: Volkan Yangin 2020 年 12 月 2 日
Hi,
You can see my arbitrary state space model below. First input should be 0.1*step, and second one 100*step.
How can i define these different inputs?
Thx!
clc
A=[-7463.41463414634,-626.936829268293,8090.33146341463;-723.377110694184,-16939.5629268293,17662.9400375235;373.180731707317,553.795365853659,-926.956092439024]
B=[37.8048780487805,4.87804878048781e-05;64.7335834896811,8.35272045028143e-05;85.2321951219512,0.000487804878048781]
C=[-7463.41463414634,-626.926829268293,8090.34146341463;0,1,0;373.170731707317,553.785365853659,-926.956092439024;1,0,0;0,0,1]
D=[37.8048780487805,4.87804878048781e-05;0,0;85.2321951219512,0.000487804878048781;0,0;0,0]
sys=ss(A,B,C,D);
step(0.1*sys)
  2 件のコメント
Mathieu NOE
Mathieu NOE 2020 年 12 月 2 日
help lsim
lsim Simulate time response of dynamic systems to arbitrary inputs.
Volkan Yangin
Volkan Yangin 2020 年 12 月 2 日
Thanks a lot

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

採用された回答

Ameer Hamza
Ameer Hamza 2020 年 12 月 2 日
Although lsim() as recommended by Mathieu is a general solution. However, an alternative way is to scale the B and D matrices and still use step()
sys=ss(A,0.1*B,C,0.1*D);
step(sys)
or
sys=ss(A,100*B,C,100*D);
step(sys)
  1 件のコメント
Volkan Yangin
Volkan Yangin 2020 年 12 月 2 日
編集済み: Volkan Yangin 2020 年 12 月 2 日
Thanks Ameer
It seems that creating of two signals with lsim and sum of the responses of them will solve my problem. I will create 2 row matrix to prepare 2 different signals according to my time scale.
I have found similar problem in MATLAB central https://www.mathworks.com/matlabcentral/answers/381118-lsim-with-two-input-signal
Thanks a lot all of contributions

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeRobust Control Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by