2012-12-24 基于BP神经网络整定的PID控制_第1页
2012-12-24 基于BP神经网络整定的PID控制_第2页
2012-12-24 基于BP神经网络整定的PID控制_第3页
2012-12-24 基于BP神经网络整定的PID控制_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于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)计算神经网络各层的

2、输入和输出;(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 Controlclear all;close all;xite=0.25; %给学习速率赋初值alfa=0.05; %给惯性系数赋初值S=1; %Signal type,1为阶跃,2为正弦IN=4;H=5;Out=3; %NN Structureif S=1 %Step S

3、ignalwi=-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;

4、 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;endif S=2 %Sine Signalwi=-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

5、;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;endx=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_

6、1=0;ts=0.001;for k=1:1:6000time(k)=k*ts;if S=1 rin(k)=1.0;elseif S=2 rin(k)=sin(1*2*pi*k*ts);end%Unlinear modela(k)=1.2*(1-0.8*exp(-0.1*k);yout(k)=a(k)*y_1/(1+y_12)+u_1;%yout(k-1)的初始值为y_1=0error(k)=rin(k)-yout(k);xi=rin(k),yout(k),error(k),1;%输入x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*err

7、or_1+error_2;epid=x(1);x(2);x(3);I=xi*wi'%1×4×4×5= 1×5,加撇为转置for j=1:1:H Oh(j)=(exp(I(j)-exp(-I(j)/(exp(I(j)+exp(-I(j); %Middle LayerendK=wo*Oh; %3×5×5×1= 3×1,netl(3)(k)for l=1:1:Out K(l)=exp(K(l)/(exp(K(l)+exp(-K(l); %Getting kp,ki,kd,g(x)endkp(k)=K(1);ki(

8、k)=K(2);kd(k)=K(3);% kp,ki,kd赋第一组值Kpid=kp(k),ki(k),kd(k);du(k)=Kpid*epid;u(k)=u_1+du(k);if u(k)>=10 % 限制输出范围 u(k)=10;endif u(k)<=-10 u(k)=-10;enddyu(k)=sign(yout(k)-y_1)/(u(k)-u_1+0.0000001);%加0.0000001是为了防止分母为0%Output layerfor j=1:1:Out dK(j)=2/(exp(K(j)+exp(-K(j)2;%g(x)endfor l=1:1:Out delta

9、3(l)=error(k)*dyu(k)*epid(l)*dK(l);%l(3)endfor l=1:1:Out for i=1:1:H d_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2); endend wo=wo_1+d_wo+alfa*(wo_1-wo_2);%wli(3)%Hidden layerfor i=1:1:H dO(i)=4/(exp(I(i)+exp(-I(i)2;%f(x)end segma=delta3*wo;for i=1:1:H delta2(i)=dO(i)*segma(i);% i(2)endd_wi=xite*delta2&#

10、39;*xi;wi=wi_1+d_wi+alfa*(wi_1-wi_2);%Parameters Updateu_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k); %u为PID输出y_2=y_1;y_1=yout(k); wo_3=wo_2;wo_2=wo_1;wo_1=wo; wi_3=wi_2;wi_2=wi_1;wi_1=wi;error_2=error_1;error_1=error(k);endfigure(1);plot(time,rin,'r',time,yout,'b');xlabel('time(s)');ylabel('rin,yout');figure(2);plot(time,error,'r');xlabel('time(s)');ylabel('error');figure(3);plot(time,u,'r');xlabel('time(s)');ylabel('u');figure(4);subplot(311);plot(time,kp,'r');xlabel('time(s)');ylabel('kp');

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论