kee 发表于 2008-4-21 10:06

BP神经网络的S函数编写问题

:funk: 请高手指点!!
我想用BP神经网络控制PID的三个参数,但在编写s函数时遇到问题。我不知道权值的初始化以及权值更新应该在哪个子函数中进行。该指点小弟,给我一个编程思路,不胜感激!
我想说的是S函数的基本东西我知道,现在是编程的问题。权值的初始化以及权值更新的程序部分不好放,呵呵!

[ 本帖最后由 yf2002043227 于 2008-5-7 10:00 编辑 ]

cream0408 发表于 2008-4-23 17:19

dingding !我也有同样问题

zzst 发表于 2008-4-24 18:09

:@L 我也是这个问题,不过论坛回答这方面问题的很少啊~

yf2002043227 发表于 2008-4-24 18:20

具体怎么实现的,我就不费这个劲给你敲上了,给你推荐本书:

《控制系统计算机辅助设计》——matlab语言与应用(第2版)
薛定宇 著

你说的这个问题,里面就有源程序。参见P387:lol

毕业了请我吃顿饭就行了:handshake

[ 本帖最后由 yf2002043227 于 2008-4-24 18:23 编辑 ]

kee 发表于 2008-4-26 20:29

呵呵!请客,呵呵,无问题啊!
谢谢你了,看看先!

kee 发表于 2008-4-29 16:33

老哥,按照你的书上编的程序,总是报错:

Output returned by S-function 'NNpid_for_done' in block 'nnbppid_good/S-Function' during flag=3 call must be a real vector of length 46

这是怎么回事??请教

[ 本帖最后由 yf2002043227 于 2008-5-7 10:01 编辑 ]

yf2002043227 发表于 2008-4-29 16:47

这个错误不是他程序的问题,应该是你的S函数编写的有问题,具体细节上没有处理好

kee 发表于 2008-4-29 17:22

我还未改他的程序,原版搞上去 的,因为都一样啊,
我就是在 封装的时候 给了权值 初始值,
因为我发现如果不设置权值 初始值的话, KP,KI,KD的值一直是0.5,
老哥,你有什么解决办法啊

yf2002043227 发表于 2008-4-29 17:41

回复 8楼 的帖子

那只能发上来我看看,借此我也学习下S函数

kee 发表于 2008-4-29 18:09

吃饭去了,呵呵
这个就是BP-s函数
和你说的书上的一样,
我就想把权值 初始值加进去,于是在封装的里面对wi和wo 初始化,但是程序就报错了

yf2002043227 发表于 2008-4-29 18:15

回复 10楼 的帖子

还有simulink那个图那?

kee 发表于 2008-4-29 18:40

哦,图也是书上的啊,一样的,一模一样的啊,老哥,呵呵

yf2002043227 发表于 2008-4-29 18:45

要不你就发给我,好几个图那,前后一共3个呢,我一个一个画,也累死了
yf2002043227@163.com

yf2002043227 发表于 2008-4-29 19:15

没有你的仿真图,没办法调试,我给你提个建议你试试吧,我有事下了:
首先不应该再封装的时候加上那个初始值,上面你说的那个都是0.5,是因为封装的模块里有个限幅器,你可以看看里面的参数默认的上线就是0.5,这样输出在-0.5--0.5之间取的最有是0.5了,
错误应该在这里,具体你自己该把,我没仿真模型,现画麻烦

kee 发表于 2008-4-29 19:40

老哥,怎么跑了啊
我刚刚上了节课哦
模型在这里,真麻烦你了,谢谢
我未找到哪里有 限幅的,请明示,呵呵
页: [1] 2
查看完整版本: BP神经网络的S函数编写问题