📄 main_dmc.m
字号:
function main_DMC()
clear
clc
%%%%%%%%%%%%%%%%% DMC参数设定 %%%%%%%%%%%%%%%%%%%%%%%%%%%
P=6; %优化时域
M=5; %控制时域
TT=60; %仿真步数
Q=1*eye(P,P); %误差权矩阵
R=1*eye(M,M); %控制量变化权矩阵
h=1*ones(P,1); %误差修正向量
RA=[1 -0.8 0.6];
RB=[0.9 -0.6]; %RA,RB为实际对象传函参数
e=0.5;
c=1; %设定值
%%%%%%%%%%%%%%%%%% 辩识参数设定 %%%%%%%%%%%%%%%%%%%%%%%%%%%
L=30; %采样长度
xx=1; %M序列幅值
na=2; %辩识所得到的矩阵AA的阶次
nb=1; %辩识所得到的矩阵BB的阶次
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[UUU,YYY,ZZZ,z,zz,u,a]=DMC(P,M,Q,R,RA,RB,e,TT,h,c,L,xx,na,nb);
%%%%%%%%%%%%%%%%%% 图形显示 %%%%%%%%%%%%%%%%%%%%%%%%%%%
subplot(3,1,1)
plot(1:TT,YYY,'r',1:TT,ZZZ,'.',1:TT,UUU,'k-.')
legend('output','expectation','input',-1)
xlabel('\bft')
grid on
set(gca,'Ytick',[0:c])
subplot(3,1,2)
plot(1:L,z,'r*',1:L,zz,'b')
legend('采样值','拟合曲线',-1)
grid on
subplot(3,1,3)
plot(1:P,a)
legend('unit-step-response')
grid on
set(gca,'Xtick',[0:1:P])
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -