• 大小: 2.02KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


DMC程序源代码,包含对象不匹配,干扰等情况

资源截图

代码片段和文件信息

clear all
%离线准备工作
%阶跃响应模型系数
N=70;%截断时间

sys1=tf(2[41]‘inputdelay‘4);     %传递函数形式
sys2=tf(2.4[31]‘inputdelay‘6);
dsys=tf(1[21]);
%step(sys)
Ts=1;%采样时间等同于tfd2mod中的delt
dsys1=c2d(sys1Ts);
dsys2=c2d(sys2Ts);
sysd=c2d(dsysTs);
[num1 den1]=tfdata(dsys1‘v‘);
[num2 den2]=tfdata(dsys2‘v‘);
[numd dend]=tfdata(sysd‘v‘);
[yptpxp]=step(dsys1N);
a=[yp(2:end)];%因为step的第一个值是从0时刻开始的,而模型阶跃系数是从s1第一个时刻开始的
%计算动态矩阵A
P=60;M=1;%预测时域,控制时域
alfa=1;%加权系数
R=eye(M);
tend=180;%运行时间
nn=tend/Ts;
for j=1:M
    for i=j:P
        A(ij)=a(i-j+1);
    end
end
alfa0=alfa*abs(A‘*A);

for i=1:P
    k=0;
    for j=i:N-2
    A0(ij)=a(N-k)-a(N-k-1);
    k=k+1;
    end
end
for i=1:P
    A0(iN-1)=a(i+1);
end

for i=1:P
    H(i)=1;
end
Q=eye(P);

for i=1:N-1
    U(i)=0;
end

for i=1:10
    e(i)=0;
    Y1(i)=0;
    Y2(i)=0;
    Yy(i)=0;
    Yc(i)=0;
    Yd(i)=0;
end
%确定设定值
for j=1:nn+1
        Ysp(j)

评论

共有 条评论