资源简介
使用MATLAB软件中的simulink模块,进行RBF神经网络PID控制仿真,实测成功!!
代码片段和文件信息
function [sys x0 str ts] = nnrbf_pid( txuflagTnnK_pid...
eta_pid xite alfa beta0 w0)
switch flag
case 0 [sys x0 str ts] = mdlInitializeSizes( Tnn) ;
case 2 sys = mdlUpdates( u) ;
case 3 sys = mdlOutputs( t x u T nn K_pideta_pid...
xite alfa beta0 w0) ;
case { 1 4 9} sys = [] ;
otherwise error ( [‘Unhandled flag = ‘ num2str(flag)]);
end
function [sysx0strts] = mdlInitializeSizes(T nn)
sizes = simsizes;
sizes. NumContStates = 0;
sizes.NumDiscStates = 3;
sizes. NumOutputs = 4+ 5* nn;
sizes.NumInputs = 9+15* nn;
sizes. DirFeedthrough = 1;
sizes. NumSampleTimes =1;
sys= simsizes( sizes) ;
x0= zeros( 3 1) ; str= [ ] ; ts=[T 0] ;
function sys = mdlUpdates( u)
sys= [ u(1) - u(2) ; u(1) ; u(1) + u(3) - 2* u(2) ];
function sys = mdlOutputs( t x uT nn K_pid eta_pid...
xite alfa beta0 w0)
ci3= reshape( u(7: 6+ 3* nn) 3 nn) ; ci2= reshape(u( 7+ 5* nn: 6+ 8* nn) 3 nn) ;
ci1= reshape( u( 7+ 10* nn: 6+ 13* nn) 3 nn) ;
bi3= u( 7+ 3* nn: 6+ 4* nn) ; bi2= u( 7+ 8*nn: 6+ 9* nn) ;
bi1= u( 7+ 13* nn: 6+ 14* nn) ; w3= u( 7+ 4* nn: 6+ 5* nn) ;
w2= u( 7+ 9* nn: 6+ 10* nn) ; w1= u( 7+ 14* nn: 6+ 15* nn) ; xx= u( [ 6; 4; 5] ) ;
if t== 0
ci1= w0( 1) * ones( 3 nn) ; bi1= w0( 2) *ones( nn 1) ;
w1= w0( 3) * ones( nn 1) ; K_pid0= K_pid;
else K_pid0= u( end-2: end) ;
end
for j= 1: nn
h(j 1) = exp( - norm( xx- ci1( : j) )^2/(2* bi1(j) * bi1(j))) ;
end
dym= u(4) - w1‘* h;
w= w1+ xite* dym* h+alfa* (w1- w2) + beta0*( w2- w3) ;
for j= 1: nn
dbi(j1) = xite* dym* w1(j) * h(j) * (bi1(j) ^(- 3)) * norm( xx- ci1(:j))^2;
dci( : j) = xite*dym* w1(j)* h(j) * (xx- ci1(:j)) * (bi1(j)^(- 2) );
end
bi= bi1+ dbi+ alfa* (bi1- bi2) + beta0*(bi2- bi3) ;
ci= ci1+ dci+ alfa* (ci1- ci2) + beta0*(ci2- ci3) ;
dJac= sum( w.*h.*( - xx (1) + ci (1:)‘ ) ./bi.^2) ; % Jacobian
KK(1)= K_pid0(1)+ u(1) * dJac* eta_pid(1)* x(1);
KK(2)= K_pid0(2)+ u(1) * dJac* eta_pid(2)* x(2);
KK(3)= K_pid0(3)+ u(1) * dJac* eta_pid(3)* x(3);
sys= [ u( 6) + KK* x; KK‘; ci( : ) ; bi( : ) ; w( : ) ] ;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2102 2012-04-10 16:31 nnrbf_pid.m
文件 34314 2012-04-11 16:46 RBF_PID.mdl
相关资源
-
伺服控制simuli
nk模型 - 以MATLAB为平台的电弧模型
- 登月挺软着陆MATLAB仿真
-
matlab simuli
nk 离合器模型 - GPS/INS组合导航Matlab仿真源码包含实验
- isight联合matlab仿真
- 基于HMM的语音识别系统的matlab仿真
- 自适应最陡下降法Matlab仿真
- Buck-Boost充电Matlab仿真模型
-
SIMUli
nk 直流电机调速 - QPSKMATLAB仿真程序
- 回馈整流MATLAB仿真
- matlab仿真自抗扰控制器
- 通信系统的matlab仿真
- MATLAB仿真mac协议
- DSP计算机作业 自适应噪声抵消LMS算法
- SVPWM驱动异步电机matlab2008a
-
simuli
nk库 - 基于Zigbee定位算法MATLAB仿真
- matlab仿真博弈论
- 2自由度汽车MATLAB模型S函数
- GPS位置解算MATLAB仿真
- RBF神经网络自适应控制MATLAB仿真 刘金
- SVPWM MATLAB仿真
- 排队论的matlab仿真(包括仿真代码)
- MIMO复用技术MATLAB仿真代码
- CDMA MATLAB仿真
- 三相PWM整流matlab仿真
- poisson(泊松过程)的Matlab仿真包括
-
基于MatlabSimuli
nk数字基带传输系统仿
评论
共有 条评论