资源简介
这是一个基于Matlab语言s函数的RBF网络自适应控制器的设计,可以方便的移植到其他系统!
![](http://www.nz998.com/pic/32714.jpg)
代码片段和文件信息
function [sysx0strts] = nnrbf_pid(txuflagTnnK_pideta_pidxitealfabeta0w0)
%
switch flag
case 0
[sysx0strts]=mdlInitializeSizes(Tnn);
case 2
sys=mdlUpdate(u);
case 3
sys=mdlOutputs(txuTnnK_pideta_pidxitealfabeta0w0);
case {149}sys = [];
otherwise
error([‘Unhandled flag = ‘num2str(flag)]);
end
%
function [sysx0strts] = mdlInitializeSizes(Tnn)
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(31);
str = [];
ts = [T 0];
%
function sys=mdlUpdate(u)
sys = [u(1)-u(2);u(1);u(1)+u(3)-2*u(2)];
function sys=mdlOutputs(txuTnnK_pideta_pidxitealfabeta0w0)
%
ci_3=reshape(u(7:6+3*nn)3nn);
ci_2=reshape(u(7+5*nn:6+8*nn)3nn);
ci_1=reshape(u(7+10*nn:6+13*nn)3nn);
bi_3=u(7+3*nn:6+4*nn);
bi_2=u(7+8*nn:6+9*nn);
bi_1=u(7+13*nn:6+14*nn);
w_3=u(7+4*nn:6+5*nn);
w_2=u(7+9*nn:6+10*nn);
w_1=u(7+14*nn:6+15*nn);
xx=u([6;4;5]);
if t==0
% ci_1=rand(3nn);
% bi_1=rand(nn1);
% w_1=rand(nn1);
ci_1=w0(1)*ones(3nn);
bi_1=w0(2)*ones(nn1);
w_1=w0(3)*ones(nn1);
% ci_2=ci_1;ci_3=ci_2;
% bi_2=bi_1;bi_3=bi_2;
% w_2=w_1;w_3=w_2;
K_pid0=K_pid;
else
% ci_3=reshape(u(7:6+3*nn)3nn);
% ci_2=reshape(u(7+5*nn:6+8*nn)3nn);
% ci_1=reshape(u(7+10*nn:6+13*nn)3nn);
% bi_3=u(7+3*nn:6+4*nn);
% bi_2=u(7+8*nn:6+9*nn);
% bi_1=u(7+13*nn:6+14*nn);
% w_3=u(7+4*nn:6+5*nn);
% w_2=u(7+9*nn:6+10*nn);
% w_1=u(7+14*nn:6+15*nn);
K_pid0=u(end-2:end);
end
xx=u([6;4;5]);
for j=1:nn
h(j1)=exp(-norm(xx-ci_1(:j))^2/(2*bi_1(j)*bi_1(j)+eps));
end
ymout=w_1‘*h;
yout=u(4);
dym=yout-ymout;
w=w_1+xite*dym*h+alfa*(w_1-w_2)+beta0*(w_2-w_3);
for j=1:nn
d_bi(j1)=xite*dym*w_1(j)*h(j)*(bi_1(j)^(-3))*norm(xx-ci_1(:j))^2;
d_ci(:j)=xite*dym*w_1(j)*h(j)*(xx-ci_1(:j))*(bi_1(j)^(-2));
end
bi=bi_1+d_bi+alfa*(bi_1-bi_2)+beta0*(bi_2-bi_3);
ci=ci_1+d_ci+alfa*(ci_1-ci_2)+beta0*(ci_2-ci_3);
dJac=sum(w.*h.*(-xx(1)+ci(1:)‘)./bi.^2);
KK=K_pid0+u(1)*dJac*eta_pid.*x;
sys = [u(6)+KK‘*x;KK;ci(:);bi(:);w(:)];
%
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2283 2009-04-26 17:00 基于s函数的RBF网络pid控制器设计\nnrbf_pid.m
文件 31 2009-04-28 10:32 基于s函数的RBF网络pid控制器设计\readme.txt
目录 0 2009-04-28 10:32 基于s函数的RBF网络pid控制器设计
----------- --------- ---------- ----- ----
2314 3
- 上一篇:office2010官方完美卸载工具
- 下一篇:罚函数matlab实现
相关资源
- 基于matlabGUI的小车倒立摆pid控制
- 粒子群算法优化RBF网络matlab源码
- 小车倒立摆系统的控制及GUI动画演示
- 论文研究-电加热模糊PID控制及仿真研
- MPPT增量电导法的模板与s函数
- 基于卡尔曼滤波的PID控制
- 刘金琨-先进PID控制及MATLAB 仿真
- 《先进PID控制MATLAB仿真第3版》程序代
- 先进PID控制及其MATLAB仿真(刘金锟)
- MATLAB s函数最详细指南编写教程24998
- 先进PID控制及其MATLAB仿真 与配套源码
- 先进PID控制及其MATLAB仿真(附带)
- 多种PID控制算法-matlab 实现
- pid控制倒立摆
- PID控制及其MATLAB仿真--详细.ppt
- 《先进PID控制MATLAB仿真第3版》仿真程
- zw_qq_15023225-7501331-S函数的BP神经网络
- 基于DSP的数字PID控制 DC-DC变换器的设
-
二级倒立摆_simuli
nk.rar - 主动悬架LQG控制与模糊PID控制的比较
- 基于模糊PID控制无刷直流电动机调速
- 基于MATLAB的模糊PID控制器的设计
- zw_PID控制Matlab仿真.zip
- 先进PID控制MATLAB仿真第3版完整仿真程
- PID控制MATLAB仿真第2版含MATLAB源代码
-
PID控制的Simuli
nk仿真 - Matlab中,用c或m语言编写s函数.rar
- pid温度控制程序及论文
-
卫星姿态控制系统PID控制simuli
nk仿真 - 先进PID控制Matlab仿真第三版
评论
共有 条评论