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

📄 main_dmc.m

📁 预测控制中动态矩阵控制(DMC)的Matlab代码
💻 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 + -