基于遗传优化模糊控制器的水箱水位控制系统simulink建模与仿真

1.课题概述

基于遗传优化模糊控制器的水箱水位控制系统simulink建模与仿真。对比模糊控制器和基于遗传优化的模糊控制器。

2.系统仿真结果

1

2

3.核心程序与模型

版本:MATLAB2022a

..................................................................
Areas = [];
% FIS = addvar(FIS,'input','Cost',[0.5 1.5]);
Areas = [Areas,[0.4;0.6]];
Areas = [Areas,[1.2;1.8]];
 
 
%FIS = addmf(FIS,'input',1,'Cheap','trimf', [0 0.5 0.75]);
Areas = [Areas,[0.4;0.6]];
Areas = [Areas,[0.6;0.9]];
 
%FIS = addmf(FIS,'input',1,'Expensive','trimf',[1.25 1.5 2]);
Areas = [Areas,[1.2;1.3]];
Areas = [Areas,[1.4;1.6]];
Areas = [Areas,[1.8;2.2]];
 
%FIS = addmf(FIS,'input',1,'Medium','trapmf',[0.5 0.75 1.25 1.5]);
Areas = [Areas,[0.4;0.6]];
Areas = [Areas,[0.6;0.9]];
Areas = [Areas,[1.2;1.3]];
Areas = [Areas,[1.4;1.6]];
 
%FIS = addvar(FIS,'input','Water level prev',[5 20]);
Areas = [Areas,[4;6]];
Areas = [Areas,[15;25]];
....................................................................
 
 
 
FieldD = [rep([10],[1,Nums]);Areas;rep([0;0;0;0],[1,Nums])];
 
gen   = 0;
Js    = 0.5*rand(NIND,1);
Objv  = (Js+eps);
gen   = 0; 
 
 
 
while gen < MAXGEN
      
      Pe0 = 0.99;
      pe1 = 0.01; 
 
      FitnV=ranking(Objv);    
      Selch=select('sus',Chrom,FitnV);    
      Selch=recombin('xovsp', Selch,Pe0);   
      Selch=mut( Selch,pe1);   
      phen1=bs2rv(Selch,FieldD);   
 
      for jj=1:1:NIND  
          [gen,jj]
          X           = phen1(jj,:);
          %计算对应的目标值
          [FIS2]      = func_obj(X);
          sim("GA_opt")% Simulink模型"tops"。
          load y2.mat
          dat = ans.Data;
          len = length(dat);
          E           = std(dat(len/2:len,2));
          JJ(jj,1)     = E;
      end 
      
      Objvsel=(JJ);    
      [Chrom,Objv]=reins(Chrom,Selch,1,1,Objv,Objvsel);   
      gen=gen+1; 
 
 
      Error2(gen) = mean(JJ);
end 
Error2=smooth(Error2,4);
figure
plot(Error2,'linewidth',2);
grid on
xlabel('迭代次数');
ylabel('遗传算法优化过程');
legend('Average fitness');
 
 
 
[V,I] = min(JJ);
X     = phen1(I,:);
 
 
.............................................................................
% 将规则列表添加到FIS中。
FIS2 = addrule(FIS, ruleList);
 
 
sim("GA_opt2")
 
save y3GA.mat Error2 X
54

4.系统原理简介

基于遗传优化模糊控制器的水箱水位控制系统是一种将模糊控制与遗传算法相结合的智能控制策略,旨在实现水箱水位的精确控制。模糊控制利用模糊逻辑处理不精确或不确定的信息,而遗传算法则作为一种全局优化技术,用于自动调整模糊控制器的参数,提高控制性能。

 

posted @ 2026-01-30 06:46  可编程芯片开发  阅读(4)  评论(0)    收藏  举报