• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: 二次规划  

资源简介

动态矩阵 约束预测控制 二次规划 最优解 很好地跟踪设定值

资源截图

代码片段和文件信息

clc;
clear all;
close all;
%建立传递函数
Ts=2; %采样时间
G=tf([-0.7115][163776 23608 14853.56 278.605 1.41125]);
set(G‘InputDelay‘21);
[y0t0]=step(G0:Ts:1000);
%设置DMC参数
N=500; 
P=300;
m=2;
t=1; %控制加权系数
w=100; %设定值
%初始化DMC
A=zeros(Pm);
a=zeros(N1);
I=eye(m);
for i=1:N
    a(i)=y0(i);
end
for i=1:P
    for j=1:m
        if i>=j
            A(ij)=a(i-j+1);
        end
    end
end
H=zeros(mm)
C=zeros(m1);
y=zeros(N1);
u=zeros(N1);
A0=zeros(PN-1);
for i=1:P
    for j=N-2:-1:1
        if N-j+1+i-1<=N
            A0(ij)=a(N-j+1+i-1)-a(N-j+i-1);
        else
            A0(ij)=0;
        end
    end
    A0(iN-1)=a(i+1);
end
%DMC程序
for k=2:N
    U0=zeros(N-11);
     for i=1:N-1
        if k-N+i<=0
            U0(i)=0;
        else
           

评论

共有 条评论

相关资源