有一段时间没有在博客里写东西了,有的时候是不愿意写,把一些东西写在了自己的日记本里,有的时候是没有时间,而更多的时候是觉得不想写一些自己都看不懂的东西。所以一直都很慎重,但是每次还是会出好多好多的错误,事后自己看到都觉得可笑,呵呵……
前一段时间,写过一些关于模糊控制的东西,其实我也是一知半解,也没有多深入的研究和学习,因为我本身的专业和现在做的东西没有涉及到那方面,甚至自从重新做了电脑系统之后我连matlab都没有装。要不是今天“Here I am”网友的提醒,我都忘了,在此谢谢她了。呵呵……
下面是针对她的一些问题,写的一点东西,仅作参考,不全,请原谅!
如何利用matlab中的Anfis调试你的fuzzy控制。这里仅仅是一个流程,肯定有很多东西没有涉及到,而且有很多东西我也是一知半解,所以有任何错误请指出,并相互探讨。
首先在matlab的命令行中直接输入:anfisedit。然后会出现如下的界面:
然后编辑你自己的FIS属性,按如下的实例进行。
则出现如下的界面:
在这里你可以修改你的模糊输入量的个数和输出量的数目。通常情况下我们选择两个输入,一个输出。具体的操作如下。
这样你的输入和输出的数目就确定了,然后下一步应该是根据你的实际项目要求来定义各个量的属性了。那么如何进入呢?如下图所示:
然后会出现输入量与输出量的隶属度函数的定义界面:
在这里,你就可以根据自己的实际需要修改各变量的隶属度函数了。具体怎么设置,可以在matlab的help文件中找到各相关设置的意义和方法。下面,我们具体看一下输出的type,好吧。
从上图中我们可以看到,实际上输出有两种,一种是“constant”,另一种是“linear”。我的理解是:前一种是一种单值的输出函数,也就是说它的各输出值是不连续的,而后一种是连续的。网友“Here I am”,问的如何将输出设置为单值,我想应该是在这里选择了。因为以前我也是这样设置的,在这里就不再赘述了。
等各参数的隶属度函数设置好之后,下一步就应该是来做我们的“黑匣子”了,即设置你自己的模糊控制规则库“rule”了。有两种方式进入,如下面的两个图。
1:
2:
得到如下的“rule”设置界面:
按理讲,上图中的各个设置都是很“所见即所得”式的吧。自己试着捣鼓几次就可以了。呵呵
好了,今天就写到这里吧,有些累了,回去了。各位,晚安!呵呵
文章评论(0条评论)
登录后参与讨论