⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zuiyou2.m

📁 matlab最优控制的作业 请各位高手多多指教
💻 M
字号:
clear all;
for i=0.01:1:1.01
A=[-0.2 0.5 0 0 0;0 -0.5 1.6 0 0;0 0 -14.3 85.8 0;0 0 0 -33.3 100;0 0 0 0 0];
B=[0;0;0;0;30];
C=[1 0 0 0 0];
D=zeros(1);
Q1=diag([i,0,0,0,0]);
Q2=1;
Q=i;
N=zeros(1);
x0=[1 1 1 1 1];
[K,S,E]=lqr(A,B,Q1,Q2,N);
sys=ss(A-B*K,B,C,D);
[K1,S1,E1]=lqry(sys,Q,Q2,N);
sys1=ss(A-B*K1,B,C,D);
[y,T,xt]=initial(sys,x0);
n=length(T);
    for j=1:n
        u(j,:)=-K(1,:)*(xt(j,:))';
    end
[y1,T1,xt1]=initial(sys1,x0);
m=length(T1);
    for j=1:m
        u1(j,:)=-K1(1,:)*(xt1(j,:))';
    end
figure(1)
subplot(211),
plot(T,xt)
hold on
title('状态控制器的的状态曲线') 
xlabel('time-sec') 
ylabel('value');
grid on;
hold on
subplot(212),
plot(T,y)
hold on
title('状态控制器的输出曲线') 
xlabel('time-sec') 
ylabel('value');
grid on;
hold on
figure(2)
subplot(211),
plot(T1,xt1)
title('输出控制器的状态曲线') 
xlabel('time-sec') 
ylabel('value');
grid on;
hold on
subplot(212),
plot(T1,y1)
hold on
title('输出控制器的输出曲线') 
xlabel('time-sec') 
ylabel('value');
grid on;
hold on
gtext('jkj')
end






A=[0,1,0;0,0,1;-1,-4,-6];
B=[0,0,1]';
C=[1,0,0];
D=0;
Q=1;
R=1;
K=lqry(A,B,C,D,Q,R);
Ac=A-B*K;
Bc=B*K1;Cc=C;Dc=1;
Step(Ac,Bc,Cc,Dc); 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -