2012-12-24基于BP神經网络整定的PID控制.docxVIP

  • 21
  • 0
  • 约3.69千字
  • 约 4页
  • 2016-11-26 发布于重庆
  • 举报

2012-12-24基于BP神經网络整定的PID控制.docx

2012-12-24基于BP神經网络整定的PID控制

基于BP神经网络整定的PID控制(2012-12-24) 1.BP(Back Propagation)网络结构 控制算法:。 2. 三层BP 网络(上标(1)(2)(3)代表输入层、隐含层和输出层) (1)网络输入层(M) 输入为。 (2)网络隐含层(Q) 输入为,输出为。 其中。 (3)网络输出层(l=3) 输入为 输出为 其中。 3.学习算法 性能指标函数: 按照梯度下降法得到网络输出层的学习算法为 其中为学习速率,为惯性系数,。 隐含层的学习算法为 其中。 4.控制算法 (1)确定输入层节点数M、隐含层节点数Q,给出加权系数初值和,设定和,此时k=1; (2)采样得到rin(k)、yout(k)、e(k); (3)计算神经网络各层的输入和输出; (4)计算PID输出u(k); (5)进行神经网络学习,在线调整加权系数和; (6)置k=k+1,循环进行。 5.仿真实例 被控对象为。神经网络结构为4-5-3(即输入层4个,隐含层5个,输出层3个),加权系数初值在[-0.5,0.5]上的随机数。输入指令有两种:①S=1,;②S=2,。 仿真程序为: ============================================================= %BP based PID Control clear all; close all; xite=0.25; %给学习速率η赋初值 alfa=0.05; %给惯性系数α赋初值 S=1; %Signal type,1为阶跃,2为正弦 IN=4;H=5;Out=3; %NN Structure if S==1 %Step Signal wi=[-0.6394 -0.2696 -0.3756 -0.7023; -0.8603 -0.2013 -0.5024 -0.2596; -1.0749 0.5543 -1.6820 -0.5437; -0.3625 -0.0724 -0.6463 -0.2859; 0.1425 0.0279 -0.5406 -0.7660]; %wi=0.50*rands (H,IN); %wij(2) wi_1=wi;wi_2=wi;wi_3=wi; wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325; -0.1146 0.2949 0.8352 0.2205 0.4508; 0.7201 0.4566 0.7672 0.4962 0.3632]; %wo=0.50*rands(Out,H); %wli(3) wo_1=wo;wo_2=wo;wo_3=wo; end if S==2 %Sine Signal wi=[-0.2846 0.2193 -0.5097 -1.0668; -0.7484 -0.1210 -0.4708 0.0988; -0.7176 0.8297 -1.6000 0.2049; -0.0858 0.1925 -0.6346 0.0347; 0.4358 0.2369 -0.4564 -0.1324]; %wi=0.50*rands (H,IN); wi_1=wi;wi_2=wi;wi_3=wi; wo=[1.0438 0.5478 0.86820.1446 0.1537; 0.1716 0.5811 1.12140.5067 0.7370; 1.0063 0.7428 1.0534 0.7824 0.6494]; %wo=0.50*rands(Out,H); wo_1=wo;wo_2=wo;wo_3=wo; end x=[0,0,0]; u_1=0;u_2=0;u_3=0;u_4=0;u_5=0; y_1=0;y_2=0;y_3=0; Oh=zeros(H,1); % 隐含层输出Oi(2)(k)=f(neti(2)(k)) I=Oh; %输出层输入 error_2=0; error_1=0; ts=0.001; for k=1:1:6000 time(k)=k*ts; if S==1 rin(k)=1.0; elseif S==2 rin(k)=sin(1*2*pi*k*ts); end %Unlinear model a(k)=1.2*(1-0.8*exp(-0.1*k)); yout(k)=a(k)*y_1/(1+y_1^2)+u_1; %yout(k-1)的初始值为y_1=0 error(k

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档