您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 其它文档 > 神经网络pid控制matlab程序
%SingleNeuralAdaptivePIDControllerclearall;closeall;x=[0,0,0]';xiteP=0.40;xiteI=0.35;xiteD=0.40;%Initilizingkp,kiandkdwkp_1=0.10;wki_1=0.10;wkd_1=0.10;%wkp_1=rand;%wki_1=rand;%wkd_1=rand;error_1=0;error_2=0;y_1=0;y_2=0;y_3=0;u_1=0;u_2=0;u_3=0;ts=0.001;fork=1:1:1000time(k)=k*ts;yd(k)=0.5*sign(sin(2*2*pi*k*ts));y(k)=0.368*y_1+0.26*y_2+0.1*u_1+0.632*u_2;error(k)=yd(k)-y(k);%AdjustingWeightValuebyhebblearningalgorithmM=4;ifM==1%NoSupervisedHeblearningalgorithmwkp(k)=wkp_1+xiteP*u_1*x(1);%Pwki(k)=wki_1+xiteI*u_1*x(2);%Iwkd(k)=wkd_1+xiteD*u_1*x(3);%DK=0.06;elseifM==2%SupervisedDeltalearningalgorithmwkp(k)=wkp_1+xiteP*error(k)*u_1;%Pwki(k)=wki_1+xiteI*error(k)*u_1;%Iwkd(k)=wkd_1+xiteD*error(k)*u_1;%DK=0.12;elseifM==3%SupervisedHeblearningalgorithmwkp(k)=wkp_1+xiteP*error(k)*u_1*x(1);%Pwki(k)=wki_1+xiteI*error(k)*u_1*x(2);%Iwkd(k)=wkd_1+xiteD*error(k)*u_1*x(3);%DK=0.12;elseifM==4%ImprovedHeblearningalgorithmwkp(k)=wkp_1+xiteP*error(k)*u_1*(2*error(k)-error_1);wki(k)=wki_1+xiteI*error(k)*u_1*(2*error(k)-error_1);wkd(k)=wkd_1+xiteD*error(k)*u_1*(2*error(k)-error_1);K=0.12;endx(1)=error(k)-error_1;%Px(2)=error(k);%Ix(3)=error(k)-2*error_1+error_2;%Dwadd(k)=abs(wkp(k))+abs(wki(k))+abs(wkd(k));w11(k)=wkp(k)/wadd(k);w22(k)=wki(k)/wadd(k);w33(k)=wkd(k)/wadd(k);w=[w11(k),w22(k),w33(k)];u(k)=u_1+K*w*x;%Controllawerror_2=error_1;error_1=error(k);u_3=u_2;u_2=u_1;u_1=u(k);y_3=y_2;y_2=y_1;y_1=y(k);wkp_1=wkp(k);wkd_1=wkd(k);wki_1=wki(k);endfigure(1);plot(time,yd,'r',time,y,'k:','linewidth',2);xlabel('time(s)');ylabel('yd,y');legend('idealposition','positiontracking');figure(2);plot(time,u,'r','linewidth',2);xlabel('time(s)');ylabel('Controlinput');
本文标题:神经网络pid控制matlab程序
链接地址:https://www.777doc.com/doc-1605888 .html