當前位置:
首頁 >
P13 最优控制系统-《Matlab/Simulink与控制系统仿真》程序指令总结
發(fā)布時間:2025/4/5
30
豆豆
生活随笔
收集整理的這篇文章主要介紹了
P13 最优控制系统-《Matlab/Simulink与控制系统仿真》程序指令总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
《Matlab/Simulink與控制系統(tǒng)仿真》程序指令總結(jié)
- Matlab_Simulink_BookExample
- 13. 最優(yōu)控制系統(tǒng)
- 13.1 Matlab 函數(shù)
- 例題 Eg13_1
- 例題 Eg13_2
書中詳細實例代碼可見:Github
Matlab_Simulink_BookExample
圖書:《Matlab/Simulink與控制系統(tǒng)仿真》
13. 最優(yōu)控制系統(tǒng)
13.1 Matlab 函數(shù)
lqr() lqr2() lqry() 求解連續(xù)系統(tǒng)線性二次型最優(yōu)控制問題的函數(shù)
dlqr() dlqry() 求解離散系統(tǒng)線性二次型最優(yōu)控制
例題 Eg13_1
% Page370:給定系統(tǒng),求最優(yōu)控制 clear; clc;% 系統(tǒng)的狀態(tài)空間矩陣 A = [0 1; 0 0]; B = [0; 1]; C = [1 0]; D = [0]; % 建立控制系統(tǒng)的狀態(tài)空間模型 sys = ss(A, B, C, D); % 計算系統(tǒng)的可控矩陣 control = ctrb(A, B); % 如果系統(tǒng)的可控矩陣矩陣 if rank(control)==2disp('系統(tǒng)是完全能控的!'); elsedisp('系統(tǒng)是不完全能控的!'); end% 最優(yōu)控制與最優(yōu)性能的求解 % 計算最優(yōu)狀態(tài)反饋的解 R = 1; Q = [1 0; 0 1]; [K, P, E] = lqr(A, B, Q, R);% 分析閉環(huán)系統(tǒng)的特性 % 反饋后系統(tǒng)的狀態(tài)矩陣 A_new = A - B * K; % 建立閉環(huán)控制系統(tǒng)的數(shù)學(xué)模型 sys_new = ss(A_new, B, C, D); % figure(1) step(sys) % figure(2) hold on step(sys_new) legend('before','after')例題 Eg13_2
% Page371:給定離散系統(tǒng),求最優(yōu)控制 clear; clc;% 系統(tǒng)的狀態(tài)矩陣 A = [1 0; -1 1]; B = [1; -1]; C = [1 0]; D = [0]; % 設(shè)定指標函數(shù)中的 Q、R 矩陣 Q = [100 0; 0 1]; R = [1]; % 建立控制系統(tǒng)的狀態(tài)空間模型 sys = ss(A, B, C, D);% 計算最優(yōu)控制的解 [K, S, E] = dlqr(A, B, Q, R); % 反饋后系統(tǒng)的狀態(tài)矩陣 A_new = A - B * K; % 建立反饋后的系統(tǒng)數(shù)學(xué)模型 sys_new = ss(A_new, B, C, D);figure(1) dstep(A, B, C, D, 1, 10) % figure(2) hold on dstep(A_new, B, C, D, 1, 10) legend('before','after')總結(jié)
以上是生活随笔為你收集整理的P13 最优控制系统-《Matlab/Simulink与控制系统仿真》程序指令总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P12 离散控制系统-《Matlab/S
- 下一篇: 【控制】系统典型环节及其拉氏变换并绘制阶