DMC单入单出控制程序
这是一个加热炉控制程序 程序是自己编的 请大家指正
[math]$\frac{0.6 \exp(-20)}{2400 s^2+85s+1}$ [/math]
Contents
* 程序开始
* 建立传递函数
* 设置PID参数
* 主程序 初始化DMC
* DMC程序
* 画图显示结果
%程序开始
clc;
clear all;
close all;
%建立传递函数
G=tf(0.6,[2400 85 1]);
set(G,'InputDelay',20);
[y0,t0]=step(G,0:5:500);
%设置DMC参数
Ts=5;%采样时间
N=60;%截断步长
P=25;%预测步长
m=1;%控制步长
% for m=1:3
Sv=10;%设定值
%主程序 初始化DMC
A=zeros(P,m);%动态矩阵
a=zeros(N,1);
for i=1:N
a(i)=y0(i);
end
for i=1:P
for j=1:m
if i-j+1>0
A(i,j)=a(i-j+1);
end
end
end
K=inv(A'*A+eye(m))*A';
ys=ones(N