资源简介
模型预测控制学习(适合基础学习,主要包括DMC,MPC),内容有程序及建模。
代码片段和文件信息
function p=dmc(p)
% DMC Dynamic Matrix Control
% P=DMC(P) determines the dynamic matrix control (input change) based on
% the plant model (step response) and current measurement stored in the
% structure P.
% Input:
% P.sr - unit step response data
% P.u - current input initially 0
% P.v - past input initially empty
% P.G - dynamic matrix set by the initial call
% P.F - matrix to calculate free response set by the initial call
% P.k - DMC gain set by the initial call
% P.r - reference (set point)
% P.a - reference smooth factor
% P.p - prediction horizon
% P.m - moving horizon
% P.y - current mrasurement
% P.la - performance criterion weight i.e. J = ||r-y|| + p.la*||du||
% where du is the input change
% Output:
% P.u - new input for next step
% P.f - updated free response
% P.G - dynamic matrix if it is the first step.
% P.k - DMC gain if it is the first step
%
% See Also: mpc
% Version 1.0 created by Yi Cao at Cranfield University on 6th April 2008.
% Example:
%{
p.sr=filter([0 0 0.2713][1 -0.8351]ones(501));
p.p=10;
p.m=5;
p.y=0;
p.v=[];
u=zeros(13);
N=120;
Y=zeros(N1);
U=zeros(N1);
R=zeros(N1);
R([1:30 61:90])=1;
p.la=1;
for k=1:120
p.a=0;
p.r=R(k:min(Nk+p.p));
if k>60
p.a=0.7;
end
p=dmc(p);
Y(k)=p.y;
U(k)=p.u;
u=[u(2:3) p.u];
p.y=0.8351*p.y+0.2713*u(1);
end
subplot(211)
plot(1:NY‘b-‘1:NR‘r--‘[60 60][-0.5 1.5]‘:‘‘linewidth‘2)
title(‘solid: output dashed: reference‘)
text(351‘\alpha=0‘)
text(951‘\alpha=0.7‘)
axis([0 120 -0.5 1.5])
subplot(212)
[xxyy]=stairs(1:NU);
plot(xxyy‘-‘[60 60][-0.5 1.5]‘:‘‘linewidth‘2)
axis([0 120 -0.5 1.5])
title(‘input‘)
xlabel(‘time min‘)
%}
% Input and output check
error(nargchk(11nargin));
error(nargoutchk(01nargout));
% length of step response
N=numel(p.sr);
P=p.p;
% initial setup
if isempty(p.v)
% number of past inputs to keep
n=N-P;
% storage for past input
p.v=zeros(n1);
% matrix to calculate free response from past input
x=p.sr(1:n);
p.F=hankel(p.sr(2:P+1)p.sr(P+1:N))-repmat(x(:)‘P1);
% dynamic matrix
p.G=toeplitz(p.sr(1:P)p.sr(1)*eye(1p.m));
% calculate DMC gain
R=chol(p.G‘*p.G+p.la*eye(p.m));
K=R\(R‘\p.G‘);
% only the first input will be used
p.k=K(1:);
p.u=0;
end
% free response
f=p.F*p.v+p.y;
% smooth reference
nr=numel(p.r);
if nr>=P
ref=p.r(1:P);
else
ref=[p.r(:);p.r(end)+zeros(P-nr1)];
end
w=filter([0 (1-p.a)][1 -p.a]refp.y);
% DMC input change
u=p.k*(w-f);
% past input change for next step
p.v=[u;p.v(1:end-1)];
% next input
p.u=p.u+u(1);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-08-16 13:39 MPC程序\
目录 0 2018-09-24 13:42 MPC程序\无约束\
文件 1416 2014-02-23 14:41 MPC程序\无约束\noise.m
文件 280 2018-09-25 19:46 MPC程序\无约束\step_model.m
文件 2403161 2014-02-23 14:42 MPC程序\无约束\step_model.mat
文件 1169443 2014-02-23 14:42 MPC程序\无约束\unconstrained_MPC.mat
文件 1912 2014-02-23 14:42 MPC程序\无约束\unconstrained_m.m
文件 1935 2014-02-23 14:42 MPC程序\无约束\unconstrained_p.m
文件 1888 2014-02-23 14:42 MPC程序\无约束\unconstrained_uw.m
文件 1916 2014-02-23 14:42 MPC程序\无约束\unconstrained_yw.m
目录 0 2018-08-16 13:39 MPC程序\约束\
文件 1782 2014-02-23 14:42 MPC程序\约束\cmpcQP.m
文件 1758 2014-02-23 14:42 MPC程序\约束\cmpcQP_m.m
文件 1735 2014-02-23 14:42 MPC程序\约束\cmpcQP_yw.m
文件 1910 2014-02-23 14:42 MPC程序\约束\cmpcQPnoise.m
文件 2393 2014-02-23 14:42 MPC程序\约束\compare.m
文件 2327554 2014-02-23 14:43 MPC程序\约束\dstatespace.mat
文件 1410 2014-02-23 14:42 MPC程序\约束\genQP.m
文件 392 2014-02-23 14:42 MPC程序\约束\get_F.m
文件 243 2014-02-23 14:42 MPC程序\约束\state_model_c2d.m
文件 939731 2014-02-23 14:43 MPC程序\约束\step_model.mat
目录 0 2018-08-16 13:55 dmc\
文件 2766 2008-04-08 09:18 dmc\dmc.m
文件 28477 2018-08-16 13:48 dmc\dmc.zip
文件 4862 2008-04-08 09:21 dmc\dmctutorial.m
文件 1306 2014-02-12 12:35 dmc\license.txt
目录 0 2018-09-24 13:05 先进控制算法MPC和DMC\
文件 526 2018-03-20 11:06 先进控制算法MPC和DMC\MAC1.m
文件 370 2018-03-20 11:29 先进控制算法MPC和DMC\MAC2.m
文件 310 2018-03-20 17:37 先进控制算法MPC和DMC\MAC3.m
文件 426 2018-03-20 17:22 先进控制算法MPC和DMC\MAC4.m
............此处省略3个文件信息
- 上一篇:思量QQ亮钻大师 v2.0.zip
- 下一篇:计算机网络打作业实现QQ.zip
相关资源
- 基于天棚地棚混合阻尼的1/4车辆模型
- 风扇控制程序,蓝天模具专用,雷神
- 案例实战信用卡欺诈检测数据集
- 自动控制原理位置随动系统课程设计
- 电压源型变流器功率交换控制
- 设计一个十字路口交通控制器
- 控制台程序使用串口
- 交通信号灯控制器的设计
- 十字路口交通灯系统控制源代码
- 基于晶闸管的柔性交流输电控制装置
- 凤凰ABC1.9破解版.rar
- 优秀毕业设计——基于PLC控制的立体
- 适用于steamVR plugin插件的往镜头正前
- 微机原理 8086 十字路口交通灯控制
- 用各种机器学习方法knn,随机森林,
- 基于PLC的立体停车库控制系统设计
- proteus\\直流电机的速度环PI控制-速度
- 凌力尔特推出80V同步降压-升压型控制
- 安全生产监控系统技术改造与应用
- 单片机作息时间控制 课程设计
- 工业相机原理图CY7C68013A+电机控制芯片
- 51单片机实现智能型孵化器的控制系统
- 电子元件应用篇之光敏电阻开关电路
- 单按键开关控制电路
- Linux 进程控制与进程互斥附实验报告
- 正反转控制电路图
- 基于PIC单片机产生SPWM信号控制逆变桥
- 简析红外光电开关的制作
- 单片机与DSP中的基于DSP的FFT算法在无
- 自动控制板料剪切机液压系统的模拟
评论
共有 条评论