RBF神经网络逼近在线自适应控制(MATLAB实现之S函数模块分析)

上次用了参考模型的方法用RBF神经网络试了一下放到自适应控制模型上,其实跟踪效果还可以,放大了有点不舒服就是了,差了一点点,然后看了看书的第四章,知道采用梯度下降法调整神经网络权值,会容易陷入局部最优的情况,还不能保证闭环系统的稳定性,然后提出了用李雅普诺夫稳定判据分析的在线自适应神经网络控制可以解决。

李雅普诺夫稳定判据是在本科现代控制理论有提到,运用构造的函数已经正定矩阵做判决判断系统稳定性。

然后根据第四章公式推导,先是提出了一种在线自适应RBF控制器,具体源码在这里

有一个总体系统框图
在这里插入图片描述在分析模型的时候先看到chap4_1ctrl模块,里面加入了一个.m文件,是一个S函数模块
S函数模块
模块函数的输入上看有4个量,t是采样时间,x是状态变量,u是输入(是simulink模块的输入),flag是仿真过程中的状态标志

t:系统时间,在总模块的左下方可以设定
x:系统状态变量,这个状态向量是系统的状态向量,在函数中进行初始化和改变
u:模块输入,模块前向的输入向量参数,以上面的系统为例,这里输入的是二维向量
flag:这是我最不能理解的地方,前面都好说,都可以找到源头,flag是调用函数的标志,但是是由simulink调用后自动取值,不用管

还有一个点,S函数的flag取值问题,在matlab自带的系统函数sfuntmpl模块(用edit sfuntmpl.m命令查看)有解释,flag的取值只能取12349,所以在上面可以看到设定值意义。

具体RBF网络以及系统构造细节在上面附上的源码已经做好了注释。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值