声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2964|回复: 7

[控制系统类] 请教:神经网络、遗传算法matlab实现

[复制链接]
发表于 2008-4-27 21:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
最近在做先进控制方法的研究,主要是用神经网络、遗传算法优化模糊控制,进而优化PID控制系统。看了能够很多相关文献,理论基本弄明白了,可是对如何用matlab的工具箱和相关函数实现,感觉不是很明确,希望有做过这个方面的前辈给予指点,不胜感激
回复
分享到:

使用道具 举报

发表于 2008-4-29 09:17 | 显示全部楼层
为什么要先优化模糊控制,再进而优化PID参数??
这样不是很麻烦啊,直接优化PID参数不就行了吗,比如遗传算法优化PID是可以得到最有参数的,这样不是很好吗。你那样做的效果肯定不会比我说的直接优化得到的效果好
现在工业实际中要求算法简单,这样复杂的算法在实际中没有用处的

[ 本帖最后由 eight 于 2008-4-29 10:18 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2008-4-29 12:06 | 显示全部楼层

回复 2楼 的帖子

模糊控制的规则通常为经验所得,所以想到用这些学习性的算法来优化,实现自适应控制,这样复杂的算法在实际中可能没有太大用处,但是理论上感觉应该还是可行的吧
另外,你提到的了直接用遗传算法优化PID,我这里有一篇文章显示的控制效果确实很好,可是我不太明白他具体是怎么实现的?直接把优化得到的PID参数代入模型吗?好像不是文中的效果啊。本想把文章放在附件中,可是不支持caj和pdf格式,没法上传,方便的话,留下个邮箱,我发给你,非常感谢
发表于 2008-4-29 13:03 | 显示全部楼层
yf2002043227@163.com
遗传算法优化PID,包括混沌寻优算法等,这些算法的原理基本上都是类似的
首先应该定义一个目标函数,这个目标函数如何定义最好很多文献上都有
然后将PID的三个参数作为寻优的对象,当上述目标函数值达到要求时(小于某个数值)就可以停止寻优
 楼主| 发表于 2008-4-29 13:46 | 显示全部楼层

回复 4楼 的帖子

我已经把文章发过去了,麻烦你查收:@)
发表于 2008-4-29 16:40 | 显示全部楼层
那篇文章我看过了,很多人都写过这种文章,具体实现的过程可以参考相关文献,这里我只是简单介绍一下,不知道说得对不对:
首先应该设定PID三个参数的初值。
利用遗传算法进行迭代寻优,这个过程中要用到那个系统,适应度函数的选取肯定和系统的某个量有关(比如系统的偏差的和+超调量),这样就是向着系统偏差和+超调减小的方向寻优(只是打个比方)
最后系统仿真的图像确实就是你说的将最后优化的PID参数带入系统,进行仿真

[ 本帖最后由 yf2002043227 于 2008-4-29 16:42 编辑 ]
 楼主| 发表于 2008-4-29 20:11 | 显示全部楼层
谢谢!适应度函数我已经编好了,现在的问题是优化的参数跟文中不一致,可能是因为演化函数的选择,我用的是单一的,而文中说“演化函数均取组合型函数,具体如下:交叉函数arithXover,heuristicXover,simpleXover;变异函数为boundaryMutation,multiNonUnifMutation, nonUnifMutation, unifMutation”,我不知道怎么在程序中怎么实现组合型函数? 顺便把我的程序传上来

PIDEval.m

463 Bytes, 下载次数: 36

gapid.m

469 Bytes, 下载次数: 41

发表于 2011-8-15 11:03 | 显示全部楼层
我也是研究这个的,希望能与你交流交流。邮箱181897853@qq.com
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-23 16:27 , Processed in 0.061936 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表