基于S函数的RBF神经网络PID控制器Simulink仿真

基于S函数的RBF神经网络PID控制器Simulink仿真

ID:46768463

大小:299.26 KB

页数:3页

时间:2019-11-27

基于S函数的RBF神经网络PID控制器Simulink仿真_第1页
基于S函数的RBF神经网络PID控制器Simulink仿真_第2页
基于S函数的RBF神经网络PID控制器Simulink仿真_第3页
资源描述:

《基于S函数的RBF神经网络PID控制器Simulink仿真》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第18卷第1期安徽冶金科技职业学院学报Vol.18.No.12008年1月JournalofAnhuiVocationalCollegeofMetallurgyandTechnologyJan.2008基于S函数的RBF神经网络PID控制器Simulink仿真李绍铭,赵伟(安徽工业大学电气信息学院安徽马鞍山243002)摘要:以RBF神经网络PID控制器的Simulink仿真为例,介绍了复杂控制规律的S函数构造方法。给出了基于MATLAB语言的RBF神经网络PID控制器的S函数仿真模型,及该模型在一非线性对象的仿真结果。从而避免了复杂系统仿真时采用编程方法编写大量复杂而烦琐的源程

2、序,使编程快速、简捷,调试方便,使系统仿真工作量会大大减少。采用S函数可以充分发挥Simulink的优势,扩充Simulink的仿真功能,不但仿真模型简单,而且大大降低了编程的难度,特别适合于复杂控制系统的仿真。关键词:S函数;RBF神经网络PID控制器;Simulink仿真模型中图分类号:TP273文献标识码:A文章编号:1672-9994(2008)01-0019-03S函数是Simulink中的高级功能模块,Simulink其中:t,x,u为当前时间、状态变量与输入矢是运行在MATLAB环境下用于建模、仿真和分析动量;flag为返回变量标志。flag=0,返回参数和初态系统

3、的软件包。只要所研究的系统模型能够由始条件的维数;flag=1,返回系统的状态导数dxPMATLAB语言加以描述,就可构造出相应的S函dt;flag=2,返回离散状态x(n+1);flag=3,返回数,从而借助Simulink中的S函数功能模块实现输出向量y;flag=4,更新下一个离散状态的时间MATLAB与Simulink之间的沟通与联系,这样处理间隔。如果flag=0,则返回参数x0表示状态变量可以充分发挥MATLAB编程灵活与Simulink简单的初始值,而返回参数sys各分量的含义为:sys(1)直观的各自优势。当系统采用较复杂的控制规律连续状态变量数;sys(2)离散

4、状态变量数;sys(3)输时,Simulink中没有现成功能模块可用,通常都要出变量数;sys(4)输入变量数;sys(5)系统中有不连采用MATLAB编程语言,编写大量复杂而烦琐的源续根的数量;sys(6)系统中有无代数循环的标志程序代码进行仿真,一是编程复杂、工作量较大,二(有,则置1)。来也很不直观。如果能利用Simulink提供的S函在运用S函数进行仿真运算时,必须清楚知道数来实现这种控制规律,就可以避免原来直接采取系统不同时刻所需要的信息。例如,开始仿真时,编程的方法,不需要编写大量复杂而烦琐的源程应先知道系统有多少状态变量,其中哪些是连续变序,编程快速、简捷,调试方便

5、,则所要完成的系统量,哪些是离散变量以及这些变量的初始条件等信仿真工作量会大大减少。息。这些信息可由在S函数中设置flag=0获取。进而,若系统是严格连续的(不含离散环节),那么1S函数的编写方法在每一仿真时步中需要知道的是给定时刻的系统[1]S函数的基本格式为:状态数(令flag=1可得)和系统输出(令flag=3Function[sys,x0]=函数名(t,x,u,flag)可得)。若系统是严格离散的(不含连续环节),令flag=2,就可获得下一个离散的状态;令flag=3,收稿日期:2008-01-26就可获取离散系统的输出。【基金项目】安徽省教育厅自然科学基金项目(KJ2

6、007A109ZC)、山东省2007年科研发展计划项目资助(j07yj05)。2RBF神经网络PID控制器核心部分的S作者简介:李绍铭(1965-),安徽工业大学电气信息学院副教授,硕函数士生导师。研究方向:电力电子技术应用、自动监测与自动控制。·20·安徽冶金科技职业学院学报2008年第1期由于RBF神经网络PID控制器不能直接用传ci1=w0(1)3ones(3,nn);bi1=w0(2)3递函数加以描述,若简单地应用Simulink将无法对ones(nn,1);其进行仿真。RBF神经网络PID控制器的核心部w1=w0(3)3ones(nn,1);Kpid0=Kpid;[2]

7、分的S函数为:else,Kpid0=u(end-2:end);endfunction[sys,x0,str,ts]=nnrbfpid(t,x,u,flag,T,forj=1:nnnn,Kpid,...h(j,1)=exp(-norm(xx-ci1(:,j))^2P(23bietapid,xite,alfa,beta0,w0)1(j)3bi1(j)));switchflag,endcase0,[sys,x0,str,ts]=mdlInitializeSizes(T,dym=u(4)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。