1 / 7
文档名称:

基于S函数的RBF神经网络PID控制器.doc

格式:doc   大小:71KB   页数:7页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于S函数的RBF神经网络PID控制器.doc

上传人:fr520520 2018/9/14 文件大小:71 KB

下载得到文件列表

基于S函数的RBF神经网络PID控制器.doc

文档介绍

文档介绍:基于径向基函数的神经网络的PID控制器
摘要
RBF神经网络在分类问题中得到了广泛的应用,尤其是模式识别的问题。许多模式识别实验证明,RBF具有更有效的非线性逼近能力,并且RBF神经网络的学****速度较其他网络快。本文在具有复杂控制规律的S函数构造方法的基础上,给出了基于MATLAB语言的RBF神经网络PID控制器,及该模型的一非线性对象的仿真结果。
关键词:S函数;RBF神经网络PID控制器;Simulink仿真模型
径向基函数(RBF-Radial Basis Function),它具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称野-Receptive Field)的神经网络结构,因此,RBF神经网络是一种局部逼近网络,已证明它能以任意精度逼近任意连续函数。
S函数的编写方法
S函数是Simulink中的高级功能模块,Simulink是运行在MATLAB环境下用于建模、仿真和分析动态系统的软件包。只要所研究的系统模型能够由MATLAB语言加以描述,就可构造出相应的S函数,从而借助Simulink中的S函数功能模块实现MATLAB与Simulink之间的沟通与联系,这样处理可以充分发挥MATLAB编程灵活与Simulink简单直观的各自优势。当系统采用较复杂的控制规律时,Simulink中没有现成功能模块可用,通常都要采用MATLAB编程语言,编写大量复杂而繁琐的源程序代码进行仿真,一是编程复杂、工作量较大,二来也很不直观。如果能利用Simulink提供的S函数来实现这种控制规律,就可以避免原来直接采取编程的方法,不需要编写大量复杂而繁琐的源程序,编程快速、简捷,调试方便,则所要完成的系统仿真工作量会大大减少。
RBF神经网络PID控制器的核心部分的S函数为:
function [sys,x0,str,ts]=nnrbf_pid(t,x,u,flag,T,nn,K_pid,eta_pid,xite,alfa,beta0,w0)
switch flag,
case 0, [sys,x0,str,ts] = mdlInitializeSizes(T,nn);
case 2, sys = mdlUpdates(u);
case 3, sys = mdlOutputs(t,x,u,T,nn,K_pid,eta_pid,xite,alfa,beta0,w0);
case {1, 4, 9}, sys = [];
otherwise, error(['Unhandled flag = ',num2str(flag)]);
end
function [sys,x0,str,ts] = mdlInitializeSizes(T,nn)
sizes = simsizes;
= 0; = 3;
= 4+5*nn; = 9+15*nn;
= 1; = 1;
sys=simsizes(siz