模糊算法51单片机学习应用(一)模糊化

模糊算法51单片机学习应用(一)模糊化

最近在尝试学习模糊算法
网上查了很多材料,大多都是写原理,粗略一看好像感觉我懂了,但是真的要做的话,却完全不知道从哪里开始入手,其实,对我们首次学习使用的人来说,我们不要那些高大上的原理,我们先理解他是怎么用的,然后再去在用的过程中去理解它的实现机理。这样学习个人感觉比较适合自己。
搞了好几天,总算是初步实现了控制目标,总结一下经验和理解
首先我的应用环境是用的51单片机做了一个锂电池充电的应用场景,也就是控制目标是电流,将电流稳定在目标值
首先说一下整体的思路(这个也就是很多资料上面讲的)
1:先将控制量模糊化
也就是说模糊成7个论域
简单一点就是5个论域,包含负大(NB),负小(NS),中(NO),正小(PS),正大(PB)
也即是说将误差量,误差变量,以及控制量模糊化
道理我都懂,但是啥意思?论域是啥,模糊化是啥意思
后面翻阅了很多资料,读了一些实现的源码。
大概是这个意思
比如说我设定的误差范围为(-5,5),也就是负10到10,(实际上这个范围是我们根据实际情况定的,比如我这次的充电电流我设定的电流最大为5A,我的误差就可以设置成(-5,5),也可以设置成(-1,1))。
然后比如我当前的误差为(实际值-目标值)+1,也就是说我实际比目标值大1,那这个误差是属于哪个论域呢?也就是说属于哪个区间呢,是正大还是正小呢,反正肯定是正。
现在我们把论域用数字去表示NB用-2去表示,PB用2去表示,那负大到正大就是-2,-1,0,1,2;
模糊话就是把我们目前的偏差在(-2,2)这个区间用数字去表达出来,那刚才的偏差1(范围我们定的是(-5,5),换算成最大是2的话那应该就是2/5*1,也就是0.4,也就是说我现在偏差在0.4
可以说是有一点点小,应该属于中和正小的交叉点。
其他的参数,误差变化值和输出值都是同样的思路去处理。
处理完成之后,我们的第一步,模糊化就完成了
接下来我们要做的就是去判断它的隶属度
就像我们刚才说的,1的偏差模糊话后它是0.4(我们设定的最大偏差是5),他这个在模糊论域上面既不完全属于1(也即是正小),也不完全属于0,也就是中),那我们怎么去处理它呢?那就是我们的下一章——隶属度的处理

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试狗2010

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值