导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[jcl2436]求助有关模糊控制查询表的算法



No.99076
作者:jcl2436
邮件:jcl2436@sina.com
ID:19453
登陆:5次
文章数:5篇
最后登陆IP:119.122.176.113
最后登陆:2010/1/6 10:25:54
注册:2004/3/22 17:36:46
财富:126
发帖时间:2006/10/29 13:45:40
发贴者IP:59.40.174.200
标题:jcl2436:求助有关模糊控制查询表的算法
摘要:No.99076求助有关模糊控制查询表的算法 各位大虾!
最近我有个案子中要做一个基本的模糊控制器。我看了看书便按照书中的方法在PC上
做了验证,发现得到查询表跟书上给的查询表有很大的出入有±1左右的误差。我查了一个多星期也看不出问题出在哪儿。到书店看书也没有看到一些名堂。案子比较紧,所以就请各位大虾帮帮忙看看。写的比较罗唆,主要是怕该说的地方没有说到,让大家看不明白。见谅!
在此谢谢大家了。
     在此叙述的是二输入一输出的基本的模糊控制器。输入量是E和EC。
§1  模糊控制器的结构设计(算法预处理)
1.1  确定语言变量、语言变量的基本论域
     偏差E的基本论域为         〔-5,+5〕,
     偏差变化率EC的基本论域为  〔-3,+3〕,
     U的基本论域为              〔0,  +4〕。
1.2  选择模糊状态(语言变量E、EC、U的语言值)--描述词汇
     E  = {PB, PM , PS, NS, NM, NB};
     EC = {PB, PS, Z, NS, NB};
     U  = {很大, 大, 中, 小, 零};
1.3  建立语言变量赋值表
                表1 语言变量E赋值表
等级
-5 -4 -3 -2 -1 0 1 2 3 4 5
隶属度           
语言值           
PB 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.8 1.0
PM 0.0 0.0 0.0 0.0 0.0 0.0 0.2 0.8 1.0 0.8 0.2
PS 0.0 0.0 0.0 0.0 0.2 0.8 1.0 0.8 0.2 0.0 0.0
NS 0.0 0.0 0.2 0.8 1.0 0.8 0.2 0.0 0.0 0.0 0.0
NM 0.2 0.8 1.0 0.8 0.2 0.0 0.0 0.0 0.0 0.0 0.0
NB 1.0 0.8 0.2 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
                表2 语言变量EC赋值表
等级 -3 -2 -1 0 1 2 3
隶属度       
语言值       
PB 0.0 0.0 0.0 0.0 0.0 0.3 1.0
PS 0.0 0.0 0.0 0.0 0.3 1.0 0.3
Z 0.0 0.0 0.3 1.0 0.3 0.0 0.0
NS 0.3 1.0 0.3 0.0 0.0 0.0 0.0
NB 1.0 0.3 0.0 0.0 0.0 0.0 0.0
表3 语言变量U赋值表
等级 0 1 2 3 4
隶属度     
语言值     
很大 0.0 0.0 0.0 0.3 1.0
大 0.0 0.0 0.3 1.0 0.3
中 0.0 0.3 1.0 0.3 0.0
小 0.3 1.0 0.3 0.0 0.0
零 1.0 0.3 0.0 0.0 0.0

1.4  确定模糊控制状态表(提取、制定模糊控制规则)

            表4    模糊控制规则表
E NB NM NS PS PM PB
U      
EC      
NB 零 零 小 中 中 大
NS 零 零 小 中 大 大
Z 零 小 中 大 大 很大
PS 小 小 中 大 大 很大
PB 小 中 中 很大 很大 很大
§2      模糊控制器的算法设计
2.1      模糊算法(离线部分)
         模糊算法由模糊化、合成算法、判决三步组成。
2.1.1    输入模糊化
         查找语言变量E和EC的赋值表,找出测量值e、c的量化值x、y上与最大隶属度对应的语言值所决定的模糊集合A、B。模糊集合A、B便代表确定数e、c的模糊化。
〖例如〗    根据系统偏差测量值e(确定数)计算出x=+3;查找偏差E赋值表,在+3级上的隶属度0.2、1.0、0.2中间求取与最大隶属度1.0对应的语言值PM的模糊集合。PM为:PM = 0/-5 + 0/-4 + 0/-3 + 0/-2 + 0/-1 + 0/0 + 0.2/1 + 0.8/2 + 1.0/3 + 0.8/4 + 0.2/5
     模糊集合PM便是确定数e偏差的模糊化。
2.1.2    模糊算法器(合成算法)
2.1.2.1  模糊控制规则
     根据控制状态表可以采取以下的方法计算得到模糊控制的总模糊关系矩阵:
                  R = R1 ∨ R2 ∨ … Ri…
式中:R为总模糊关系;Ri为每条规则的模糊关系。
      每条规则所代表的模糊关系,可以用下面的方法得到:
      R1 = (NB)e × (NB)ec × (零)u
      R2 = (NB)e × (NM)ec × (零)u
        ……
  将得到的30条规则各自的模糊关系进行合并运算,可以得到总的关系矩阵。
2.1.2.2  模糊算法
根据上述论述计算出模糊关系R后,利用推理合成规则计算
        Uij = (Ei × ECj) ○ R 
考虑E和EC中的所有元素(E为11个,EC为7个)在某所对应的论域上的独立点模糊集Ei和ECj,便可求得输出语言变量U的模糊子集Uij有11×7=77个模糊子集合。
2.1.3     模糊判决
方法:(加权平均法,取隶属度作为权系数)
    
例如
   Uij =  0.0/0 + 0.3/1 + 1.0/2 + 0.3/3+0.0/4
     = (0.0×0+0.3×1+1. ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:31毫秒 最大:5186毫秒 查询6次