• 大小: 676B
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: Matlab
  • 标签: 预测控制  MATLAB  

资源简介

很好用的模型预测控制MATLAB程序!

资源截图

代码片段和文件信息

clear all;
close all;

Ts=0.5;%采样周期0.5s
Tr=1;H=10;%参考轨迹时间常数为1预测时域优化长度为10
Km=3;Tm=3;%预测模型的参数
beta=exp(-Ts/Tr);
alph=exp(-Ts/Tm);

%对象离散化
sys=tf(3[31]);
dsys=c2d(sysTs‘z‘);
[numden]=tfdata(dsys‘v‘);

%预测模型离散化
sysm=tf(Km[Tm1]);
dsysm=c2d(sysmTs‘z‘);
[nummdenm]=tfdata(dsysm‘v‘);

u_1=0;
y_1=0;
ym_1=0;
c=1;%设定值
for k=1:1:100
    time(k)=k*Ts;
   
    
    %经z变换后的离散化对象
    y(k)=-den(2)*y_1+num(2)*u_1;
    ym(k)=-denm(2)*ym_1+numm(2)*u_1;
    
    %修正后的过程输出值ypav(k)=y(k)
    ypav(k)=y(k)
    
    %控制器输出
    u(k)=((c-ypav(k))*(1-beta^H)+ym(k)*(1-alph^H))/(Km*(1-alph^H));
    
    
    %参数更新
    u_1=u(k);  
    y_1=y(k);
    ym_1=ym(k);
    
end
figure(1);
plot(timec‘b‘timey‘r‘);
axis([0 50 0 1.2])
xlabel(‘time(s)‘);ylabel(‘cy‘);
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         872  2009-05-08 17:04  PFC.m

评论

共有 条评论