1.课题概述
基于遗传优化的Sugeno型模糊控制器设计matlab仿真,通过遗传优化算法优化模糊控制器的隶属函数参数,从而获得较优的控制效果。
2.系统仿真结果
3.核心程序与模型
版本:MATLAB2022a
MAXGEN = 15; NIND = 10; Nums = 1; Chrom =crtbp(NIND,Nums*10); %sh Areas = []; Areas = [Areas,[42.73-30;42.73+30]]; 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.995; pe1 = 0.005; 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("pidfuzzy2")% Simulink模型"tops"。 load O2.mat dat = ans.Data; len = length(dat); E = std(dat(len/2:len)); 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'); ......................................................................... % 将规则列表添加到模糊系统'a'中 Fiss = addrule(a,ruleList); % 绘制第一个输入变量'E'的隶属度函数图 figure; plotmf(Fiss,'input',1); % 绘制第二个输入变量'CE'的隶属度函数图 figure; plotmf(Fiss,'input',2); % 绘制模糊系统的表面图,展示输入到输出的映射关系 figure; gensurf(Fiss); sim("pidfuzzy2") save y3GA.mat Error2 X Fiss 61
4.系统原理简介
基于遗传算法的Sugeno型模糊控制器设计是一种结合模糊逻辑系统与进化计算技术的智能控制方法。这种设计方式旨在通过遗传算法(Genetic Algorithm, GA)来优化Sugeno型模糊系统的参数,从而提升控制系统的性能,如稳定性、响应速度及鲁棒性。Sugeno型模糊控制器以其规则清晰、易于理解和实现的优点,在工业控制领域有着广泛的应用。
遗传算法是一种模拟自然选择和遗传机制的全局优化算法,用于在解空间中搜索最优解。其基本流程包括选择、交叉(杂交)、变异和精英保留等步骤。
Sugeno型模糊系统,也称为TSK(Takagi-Sugeno-Kang)模型,由输入模糊化、规则库、模糊推理和输出解模糊化四部分组成。其规则形式为:
标签:控制器,模糊,Selch,Error2,Fiss,matlab,Sugeno,gen From: https://www.cnblogs.com/hardware/p/18669634