91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 10KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-29
  • 語言: Matlab
  • 標簽: “mpc”??

資源簡介

mpc預測控制算法 用于理解模型預測控制 希望有所幫助

資源截圖

代碼片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%?This?program?implements?a?controller?that?uses?a?planning
%?strategy?for?the?surge?tank?example.
%
%?Kevin?Passino
%?Version:?4/19/01
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%?Initialize?variables

clear

%?Set?the?length?of?the?simulation

Nnc=300;

T=0.1;??????%?Sampling?rate

%?As?a?reference?input?we?use?a?square?wave?(define?one?extra?
%?point?since?at?the?last?time?we?need?the?reference?value?at
%?the?last?time?plus?one)

timeref=1:Nnc;
r(timeref)=3.25-3*square((2*pi/150)*timeref);?%?A?square?wave?input
%r(timeref)=3.25*ones(1Nnc+1)-3*(2*rand(1Nnc+1)-ones(1Nnc+1));?%?A?noise?input
ref=r(1:Nnc);??%?Then?use?this?one?for?plotting

time=1:Nnc;
time=T*time;?%?Next?make?the?vector?real?time


%?We?assume?that?the?parameters?of?the?surge?tank?(truth?model)?are:

abar=0.01;??%?Parameter?characterizing?tank?shape?(nominal?value?is?0.01)
%abar=0.05;??%?Parameter?characterizing?tank?shape?
bbar=0.2;???%?Parameter?characterizing?tank?shape?(nominal?value?is?0.2)
cbar=1;?????%?Clogging?factor?representing?dirty?filter?in?pump?(nominally?1)
%cbar=0.8;?????%?Clogging?factor?representing?dirty?filter?in?pump?(dirty?case)
dbar=1;?????%?Related?to?diameter?of?output?pipe?
g=9.8;??????%?Gravity

%?Controller?parameters

%?Model?used?in?planning?strategy:

abarm=0.002;??%?Parameter?characterizing?tank?shape?
bbarm=0.2;???%?Parameter?characterizing?tank?shape?
cbarm=0.9;??%?Clogging?factor?representing?dirty?filter?in?pump?
dbarm=0.8;???%?Related?to?diameter?of?output?pipe?

%?Next?use?a?set?of?preset?controllers?(think?of?each?as?a?plan?template)
%?In?this?case?we?use?PI?controllers?with?a?grid?of?Kp?Ki?gains?around?the?
%?ones?that?we?had?designed?for?the?PI?controller?for?the?**model**

%?Guess?at?values?
Kp=0.01;
Ki=0.3;

%Kpvec=Kp;?%?Vector?of?gains?in?the?region?of?Kp?Ki
%Kivec=Ki;

Kpvec=0:0.05:0.2;?%?Vector?of?gains?in?the?region?of?Kp?Ki
%Kivec=Ki;
Kivec=0.15:0.05:0.4;

%Kpvec=0.2:0.2:1.8;?%?Vector?of?gains?in?the?region?of?Kp?Ki
%Kivec=0.05:0.01:0.11;

%?Set?weights?of?cost?function?used?to?select?plans
w1=1;
w2=1;

%?Set?the?length?of?time?that?will?project?into?the?future?N
%NN=[20];?%?To?test?just?one?value?for?N
NN=[151015172025303335363738394045505152535556596061656970];??%?To?test?multiple?values?of?the?projection?length
N=max(NN);?%?For?initialization?and?allocation?of?variables?below


%?First?compare?the?truth?model?characteristics?to?the?model

height=0:.1:10;

for?i=1:length(height)
crosssect_truth(i1)=abs(abar*height(i)+bbar);
crosssect_model(i1)=abarm*height(i)^2?+bbarm;
end

figure(1)
clf
plot(heightcrosssect_truth‘k-‘heightcrosssect_model‘k--‘)
grid
ylabel(‘Cross-sectional?area‘)
xlabel(‘Height‘)
title(‘Cross-sectional?area?for?plant?(solid)?and?model?(dashed)‘)


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%?Next?st

評論

共有 條評論

相關資源