基于BP神经网络的PID控制器设计
参考一下刘金琨的《先进PID控制》这本书。
例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1)其中a(k)=1.2(1-0.8e^(-0.1k))输入信号:rin(k)=1.0和rin(k)=sin(2t)%BPbasedPIDControlclearall;closeall;xite=0.25;//学习速率alfa=0.05;//惯性系数S=1;%SignaltypeIN=4;H=5;Out=3;%NNStructureifS==1%StepSignalwi=[-0.6394-0.2696-0.3756-0.7023;-0.8603-0.2013-0.5024-0.2596;-1.07490.5543-1.6820-0.5437;-0.3625-0.0724-0.6463-0.2859;0.14250.0279-0.5406-0.7660];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.75760.26160.5820-0.1416-0.1325;-0.11460.29490.83520.22050.4508;0.72010.45660.76720.49620.3632];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;endifS==2%SineSignalwi=[-0.28460.2193-0.5097-1.0668;-0.7484-0.1210-0.47080.0988;-0.71760.8297-1.60000.2049;-0.08580.1925-0.63460.0347;0.43580.2369-0.4564-0.1324];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[1.04380.54780.86820.14460.1537;0.17160.58111.12140.50670.7370;1.00630.74281.05340.78240.6494];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;endx=[0,0,0];u_

本文探讨了基于BP神经网络的PID控制器设计,引用了刘金琨《先进PID控制》中的例子。通过MATLAB仿真,展示了BP神经网络PID控制在不同信号类型下的应用,如阶跃响应和正弦信号。同时,文章还讨论了BP神经网络PID控制的参数归一化问题,以及常规PID、模糊PID和遗传算法PID的比较和MATLAB仿真方法。并提出了单神经元与PID结合的可能性,以增强对非线性系统的控制效果。
最低0.47元/天 解锁文章
9423

被折叠的 条评论
为什么被折叠?



