Using state space in simulink
古いコメントを表示
What does x represent in the state space I define in simulink?

4 件のコメント
Sam Chak
2024 年 5 月 22 日
Hi Marina,
If the size of the identified state space model is not big, can you show it here? You can also update the question.
Marina
2024 年 5 月 22 日
Sam Chak
2024 年 5 月 22 日
Hi Marina,
If it is not absolutely necessary to use the State Space block, you can try using the Transfer Function block. From the identified state space model, you can convert it to a transfer function.
By the way, do you know the initial value of the system output when you want to operate it in real-time? This is a very important question
Marina
2024 年 5 月 22 日
採用された回答
その他の回答 (1 件)
Hi @Marina
Since you know the initial output value, the idea is to convert the Identified State-Space to an equivalent Canonical State-Space, where the system's output is the first state variable of the Canonical State-Space system.
By transforming the state-space model into canonical form, you can ensure that the first state variable directly corresponds to the system's output. The second state variable then represents the time-derivative of the first state, which, in the case of a positional displacement system, would be the velocity.
With the state-space model in canonical form, you can readily assign the appropriate initial values to the corresponding state variables within the Simulink State-Space block. This will help ensure that the simulation accurately reflects the initial conditions of your system.
%% Identified State-Space
Aid = magic(3);
Bid = [0; 0; 1];
Cid = [1, 2, 3];
Did = 0;
sys = ss(Aid, Bid, Cid, Did)
%% Convert to Canonical State-Space
S = compreal(sys);
csys= ss(S.A', S.C', S.B', S.D)
2 件のコメント
Marina
2024 年 5 月 27 日
カテゴリ
ヘルプ センター および File Exchange で State-Space Control Design についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!