模糊控制在MATLAB中的实现选编.pptVIP

  • 9
  • 0
  • 约3.36千字
  • 约 40页
  • 2017-04-23 发布于湖北
  • 举报
模糊控制在MATLAB中的实现选编

模糊控制在MATLAB中的实现;MATLAB工具箱提供的图形化工具:;例:小费问题;在matlab工作窗口输入:fuzzy+回车或fuzzy + 文件名(.fis) 进入图形界面编辑;增加输入变量;输入mfedit或选择编辑隶属度函数菜单;输入mfedit或选择编辑隶属度函数菜单;输入mfedit,或选择编辑隶属度函数菜单;输入ruleedit,或选择编辑模糊规则菜单;浏览模糊规则;模糊推理输入输出曲面视图,完成模糊推理系统的构建。;模糊推理系统的存储:;例:自适应模糊PID控制器 ;设计一模糊控制器 步骤 1. 确定e,de和u的论域 2. e,de和u语言变量的选取 3. 规则的制定 4. 推理方法的确定;1. 根据系统实际情况,选择e,de和U (△Kp,△Ki,△Kd)的论域 e range : [-1 1] de range: [-0.1 0.1] u range: [0 2] 2. e,de和u语言变量的选取 e 8个:NB,NM,NS,NZ,PZ,PS,PM,PB de 7个:NB,NM,NS,Z,PS,PM,PB U 7个:NB,NM,NS,Z,PS,PM,PB;偏差的隶属度函数;偏差变化的隶属度函数;输出的隶属度函数;根据以上规律得△Kp 、△Ki、△Kd的模糊规则表;;4.推理方法的制定;利用模糊逻辑工具箱的图形界面与Simulink动态仿真环境;;;;用surfview菜单命令看模糊控制器的输出量;整定出的△Kp,△Ki,△Kd代入PID算法的离散 差分公式;1、双击fuzzy contrller,给模糊控制器命名→OK 2、在matlab窗口中输入命令: 命名=readfis(‘变量名. fis’);;利用MATLAB提供的模糊逻辑工具箱函数;%模糊控制器设计 a=newfis(fuzzf); %创建新的模糊推理系统 f1=1; a=addvar(a,input,e,[-3*f1,3*f1]); %添加 e 的模糊语言变量 a=addmf(a,input,1,NB,zmf,[-3*f1,-1*f1]); %添加 e 的模糊语言变量的隶属度函数(z型) a=addmf(a,input,1,NM,trimf,[-3*f1,-2*f1,0]); %隶属度函数为三角形 a=addmf(a,input,1,NS,trimf,[-3*f1,-1*f1,1*f1]); a=addmf(a,input,1,Z,trimf,[-2*f1,0,2*f1]); a=addmf(a,input,1,PS,trimf,[-1*f1,1*f1,3*f1]); a=addmf(a,input,1,PM,trimf,[0,2*f1,3*f1]); a=addmf(a,input,1,PB,smf,[1*f1,3*f1]); ;f2=1; a=addvar(a,input,ec,[-3*f2,3*f2]); %添加 ec 的模糊语言变量 a=addmf(a,input,2,NB,zmf,[-3*f2,-1*f2]); a=addmf(a,input,2,NM,trimf,[-3*f2,-2*f2,0]); a=addmf(a,input,2,NS,trimf,[-3*f2,-1*f2,1*f2]); a=addmf(a,input,2,Z,trimf,[-2*f2,0,2*f2]); a=addmf(a,input,2,PS,trimf,[-1*f2,1*f2,3*f2]); a=addmf(a,input,2,PM,trimf,[0,2*f2,3*f2]); a=addmf(a,input,2,PB,smf,[1*f2,3*f2]); ;f3=1.5; a=addvar(a,output,u,[-3*f3,3*f3]); %添加 u 的模糊语言变量 a=addmf(a,output,1,NB,zmf,[-3*f3,-1*f3]); a=addmf(a,output,1,NM,trimf,[-3*f3,-2*f3,0]); a=addmf(a,output,1,NS,trimf,[-3*f3,-1*f3,1*f3]); a=addmf(a,output,1,Z,trimf,[-2*f3,0,2*f3]); a=addmf(a,output,1,PS,trimf,[-1*

文档评论(0)

1亿VIP精品文档

相关文档