09-21-2006 03:36 PM
01-25-2008 12:17 AM
12 = 0;
g13 = 0;
g21 = tf( 0.027, [1 0],
'IOdelay', 0.3);g22 = tf(-0.021, [1 0],
'IOdelay', 0.6);g23 = 0;
g31 = 0;
g32 = tf(0.075, [15.3 1],
'IOdelay', 15);g33 = tf(-0.095, [25 1],
'IOdelay', 11);DC = [g11 g12 g13
g21 g22 g23
g31 g32 g33];
DC.InputName = {
'valvulacaudal', 'valvulanivel', 'ventilador'};DC.OutputName = {
'caudal', 'nivel', 'temperatura'};DC = setmpcsignals(DC);
DC;
Ts = 1;
%
clear
MV OVMV(1)=struct(
'Min',0,'Max',100);vc=MV(1);
MV(2)=struct(
'Min',0,'Max',100);vn=MV(2);
MV(3)=struct(
'Min',0,'Max',100);v=MV(3);
OV(1)=struct(
'Min',-Inf,'Max',Inf);c=OV(1);
OV(2)=struct(
'Min',-Inf,'Max',Inf);n=OV(2);
OV(3)=struct(
'Min',-Inf,'Max',Inf);t=OV(3);
Weights=struct(
'Input',[0 0 0],'InputRate',[0 0 0],'Output',[10 10 10]);P=115;
% Prediction horizonmoves=1;
% Control horizonMPCobj = mpc(DC,Ts,P,moves,Weights,MV,OV);
MPCobj.Weights=Weights;
MPCobj.MV=MV;
MPCobj.OV=OV;
T = 300;
r = [30 30 -10];
sim( MPCobj, T, r);
01-25-2008 10:09 AM
02-24-2008 12:22 AM