State-Space Matrices
6 ビュー (過去 30 日間)
古いコメントを表示
Hello.Why do we write A-B*K1 in the example of LQR Control using State-Space Matrices in Matlab?Why is B negative?If anyone knows,can you please explain?
0 件のコメント
採用された回答
Sam Chak
2022 年 11 月 3 日
The LQR function only computes .
Making a substitution
2 件のコメント
Sam Chak
2022 年 11 月 5 日
編集済み: Sam Chak
2022 年 11 月 5 日
Just for a note, this "state-feedback"
sys1 = ss(A-B*K1, B, C, D)
only works if your reference state is 0.
If your system is tracking a non-zero reference state, then a pre-compensator N is required to be placed at the reference input. N is just a constant gain to rescale input so that the output converges to 1 in the step response
sys2 = ss(A-B*K1, N*B, C, D)
その他の回答 (1 件)
Sam Chak
2022 年 11 月 5 日
I added a simple example to show you. If you like this example, consider voting 👍 the Answer. Thanks!
Say, the reference state is 1.
A = [0 1; 2 3];
B = [0; 1];
K1 = lqr(A, B, eye(2), 1)
sys1 = ss(A-B*K1, B, [1 0], 0)
step(sys1, 20)
The step response shows that the output won't reach 1. Thus, a pre-compensator is needed:
N = 1/dcgain(sys1) % pre-compensator
sys2 = ss(A-B*K1, N*B, [1 0], 0)
step(sys2, 20)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!