blueqp 发表于 2006-10-11 11:09

[求助]!按书上给的模糊控制模型作不出结果

我按照西安交通大学出版社出版的《模糊控制及其MATLAB应用》中78页“调整系统控制量的模糊PID控制器"在simulink中进行调试,但是模型运行到1秒就不再动了(书中是30秒),我是按照书中的内容作的,不知道是哪个环节出了问题,请高手指教。
我是初学者,对模糊控制才刚刚开始,希望能够有好心人多多帮助!!谢谢!!!
另外一个问题:
   书中给出的模糊变量的赋值表是什么意思?在编辑模糊控制器时需要按照那个表设置吗?如何设置
???

高手帮忙啊!!!

Hermes 发表于 2006-10-12 20:31

初步看了一下,感觉你的第一个模糊输入E的模糊子集PO和NO的隶属度函数定义有问题。

另外你问的模糊变量赋值表不知道是什么样的,我的理解就是给模糊变量上的模糊子集定义隶属度函数。

blueqp 发表于 2006-10-13 09:48

原帖由 Hermes 于 2006-10-12 20:31 发表
初步看了一下,感觉你的第一个模糊输入E的模糊子集PO和NO的隶属度函数定义有问题。

另外你问的模糊变量赋值表不知道是什么样的,我的理解就是给模糊变量上的模糊子集定义隶属度函数。

楼上的大侠:
谢谢!你说得很有道理。当时我在设置模糊控制器时,书上的隶属函数不是工具箱里有的,所以偶就按照涂上的大概数值设的……:@L
那本书我没有扫描件,所以找了一个其他文章中的赋值表,就是下面这个东西。
能否具体说说这个赋值表是干吗用的?(书上没有提到如何具体设置隶属函数以及这个表是干吗的)
在控制器设置时如何设置这种隶属函数?需要编程吗?

[ 本帖最后由 blueqp 于 2006-10-13 09:51 编辑 ]

Hermes 发表于 2006-10-13 15:35

这个表是用来定义模糊变量上的模糊子集的隶属度函数(常用三角形和高斯型)。你可以用图形用户界面定义也可以用命令行方式定义。图形用户界面定义,键入fuzzy,然后按照界面的提示定义隶属度函数。命令行方式定义,参考addmf命令。你可以看一些关于matlab模糊工具箱的书或者matlab自带的帮助文件,有比较详细的说明。

blueqp 发表于 2006-10-14 11:41

谢谢!:@D
PS:我再看看,有问题可不可以再请教你?

Hermes 发表于 2006-10-14 13:16

没问题。
不过我知道的东西也不是很多,也希望能多多学习和交流。

blueqp 发表于 2006-10-14 18:10

我翻了一下我手头上的书,好像没有提到如何在模糊工具箱中定义非默认的隶属函数,包括我上面做的那个例子,它只是给出了隶属函数的图和赋值表,所以,弱弱的问一下,如何看懂那个赋值表并且设定隶属函数?

PS:我试着把隶属函数都换成MATLAB中有的,但是为什么没有输出呢?

[ 本帖最后由 blueqp 于 2006-10-14 18:13 编辑 ]

Hermes 发表于 2006-10-14 20:43

我觉得隶属度函数对于一般的连续模糊输入,应该是一个连续函数,如上所述的赋值表只是给定了隶属度函数几个关键点的值,而在其他点的定义可以用考虑各种插值方式,比如第一个PB,赋值表为(3,0.1), (4,0.4), (5,0.8), (6,1.0),最常见的构造方式就是线性连接(插值),作一个类似不规则四边形的几何图形,当然也可以考虑用高斯函数或其他光滑函数来根据这几个点来构造出连续的隶属度函数(比较麻烦)。不过如果线性插值的话,好像默认的隶属度函数中没有这个形状(也可能有,因为我就用过三角形和梯形),可以考虑自己定义隶属度函数(参考隶属度函数编辑器的edit菜单中的Add Custom MF项)。
      我建议你可以考虑一些相近的三角形隶属度函数,这样不用自己定义隶属度函数。比如上面的PB可以修改定义给(4,0),(5,0.5),(6,1.0)或(3,0.1),(4,0.4),(5,0.7),(6,1.0),这样就可以直接用matlab的函数库。

blueqp 发表于 2006-10-16 10:03

:@D谢谢!很有启发,不愧是大侠!
我现在就试试!
多谢你啦,昨天手机进水了,郁闷中,不过早上一来就看到这么好的建议,心情一级棒啦!:lol

zhengli_19822 发表于 2006-10-19 17:04

工具箱弄完了...然后TO WORKSPASE以后SIMULINK总是出现错误...刚开始说是类型不对....然后总是会出现错误...也不知道怎么解决...我想是直接用C或VC编程更好....

linlin820 发表于 2006-10-21 09:50

原帖由 zhengli_19822 于 2006-10-19 17:04 发表
工具箱弄完了...然后TO WORKSPASE以后SIMULINK总是出现错误...刚开始说是类型不对....然后总是会出现错误...也不知道怎么解决...我想是直接用C或VC编程更好....

什么样的错误?
页: [1]
查看完整版本: [求助]!按书上给的模糊控制模型作不出结果