当前位置:文档之家› BP神经网络PID控制在主汽温控制系统中的应用

BP神经网络PID控制在主汽温控制系统中的应用

BP神经网络PID控制在主汽温控制系统中的应用
BP神经网络PID控制在主汽温控制系统中的应用

BP神经网络PID控制在主汽温控制系统中的应用

摘要

目前,由于PID具有结构简单,可通过调节比例积分和微分取得基本满意的控制性能,广泛应用在电厂的各种控制过程中。电厂主汽温的被控对象是一个大惯性大迟延非线性且对象变化的系统。常规汽温控制系统为串级PID控制或导前微分控制,当机组稳定运行时,一般能将主汽温控制在允许的范围内。但当运行工况发生较大变化时,却很难保证控制品质。因此本文研究BP神经网络的PID控制,利用神经网络的自学习、非线性和不依赖模型等特性实现PID参数的在线自整定,充分利用PID和神经网络的优点。本处用一个多层前向神经网络,采用反向传播算法依据控制要求实时输出Kp、Ki、Kd,依次作为PID控制器的实时参数,代替传统PID参数靠经验的人工整定和工程整定,以达到对大迟延主气温系统的良好控制。对这样一个系统在MATLAB平台上进行仿真研究,仿真结果表明基于BP神经网络的自整定PID控制具有良好的自适应能力和自学习能力,对大迟延和变对象的系统可取得良好的控制效果。

关键词:主汽温;PID;BP神经网络;MATLAB仿真

1 引言

锅炉的主蒸汽温度与火电厂的经济性和安全性有重要的关系,因此主蒸汽温度是火电厂的一个极其重要的参数。其控制的好坏直接影响电厂的整个经济效益。

主蒸汽温度的控制任务是:

(1) 维持主汽温在允许的范围之内。对于亚临界机组的主汽温为54010C C ?±?,

长期运行应控制在5405C C ?±?,对于超临界及超超临界主汽温应控制在54061010C C C ??±? ,长期运行应控制在5406105C C C ??±? 。

(2) 保护过热器,使其管壁不超过允许的工作温度。汽温过高,会烧毁过热器的高温段;汽温过低也不行,汽温每降5度,热经济性下降百分之一,汽温偏低会使汽机尾部蒸汽湿度增大甚至带水,严重影响汽机的安全运行。

2 理论介绍(1)

火电厂的主汽温系统如下图所示:

图2-1 过热气温原理图

影响主汽温变化的扰动因素很多,如蒸汽负荷、烟气温度和流速、火焰中心位置、减温水量、给水温度等。主要扰动有3个:

1、蒸汽扰动下主汽温对象的动态特性

D(t/h)

0 t

θ(℃)

T

?t

图2-2 蒸汽流量变化对主气温的影响

2、烟气量扰动下主汽温对象的动态特性

V

0 t

θ(℃)

T

0 ?

图 2-3 烟气流量变化对主气温的影响

3、减温水量扰动下主汽温对象的动态特性

G(t/h)

0 t

θ(℃)

O ?T t

图2-4 减温水量变化对主气温的影响

3 理论介绍(2)

3.1减温水扰动下主汽温的数学模型

以减温水量作为基本扰动,来完成控制,就是用减温水量作为该系统的输入,把主汽温做为输出,管内的蒸汽和管壁可以看做是许许多多的单容对象的串联,因此对象具有分布参数特性,且该被控对象有较大的惯性和迟延。

用给水量来完成控制,减温水出口温度变化明显比过热汽温变化要快,常常把这一段作为导前区,把从减温器出口到过热蒸汽出口这一段叫做惰性区,在减温水的扰动下,主气温的动态特性可表示为:

()()

()

10

001n s k G W s T s θ==+ (3-1)

其中0k 为放大系数,0T 为时间常数,n 为阶次。其传递函数由两点法可以通过实验测得。

同理导前区的传递函数也可以表示为:

()

()

()

2

22

121n s k G W s T s θ=

=

+ (3-2)

其中2k 为导前区的放大系数,2T 为导前区的时间常数,2n 为阶次,该传递函数也可以通过实验求的。 惰性区的传递函数也可以表示为

()

()

()

1

11

2121n s k G s T s θ=

=

+ (3-3)

其中1k 为惰性区放大系数,1T 为惰性区时间常数,1n 为阶次,该传递函数无法通过实验求出,而是由下式求出:

()()()

021G s G s G s =

(3-4)

可得到:

012

k k k =

(3-5)

2

2

002210022

n T n T T n T n T -=

- (3-6)

2

0022122

0022

()

n T n T n n T n T -=

- (3-7)

3.2串级PID 控制系统

常规汽温控制系统为串级PID 控制或导前微分控制:

图3-1 主汽温串级控制框图

其中r 为过热汽温设定值,为系统输入,1()G s 2()G s 分别为控制系统对象的导前区和惰性区的传递函数,K 为执行器近似传递函数。

传统的控制都需要人工整定PID ,且要求对象模型精确,改进后加入神经网络的控制方案如下图,把常规PID

控制器用神经网络来实现:

图3-2直流锅炉过热汽温NN 控制方框图

图中,1()G s 2()G s 分别为控制系统对象的导前区和惰性区的传递函数,K 为执行器近似传递函数。1

2

,h h m m 分别表示副变送器和主变送器。r 为输入信号,

在传统PID 的基础上增加了一个神经网络,用神经网络来在线实时输出PID 的比例,积分和微分三个参数。

4 仿真

图4-1 基于BP 神经网路的主汽温控制框图

如上图,主蒸汽温度的导前区数学模型为: 1()G s ;惰性区数学模型为:

2()G s 。在负荷为37%时,导前区为:12

5.07()(128)

G s s =

+,而惰性区的传递函数

为:18

1.048()(156.65)

G s s =

+,可以近似为10s

e

-,其仿真曲线如下:

050010001500200025003000

0.2

0.4

0.6

0.8

1

1.2

1.4

time(s)

r i n ,y o u t

图4-2 负荷为37%时BP 神经pid 控制下的阶跃响应曲线

5001000

1500200025003000

-0.4

-0.200.20.4

0.6

0.8

1

time(s)

e r r o r

图4-3 负荷为37%时BP 神经pid 控制下的误差曲线

05001000

1500200025003000

-0.05

00.050.10.150.20.250.3

0.35time(s)

u

图4-4 负荷为37%时BP 神经pid 控制下的控制量变化曲线

05001000

1500200025003000

0.05

0.1

time(s)

k p

05001000

1500200025003000

0.2

0.4time(s)

k i

05001000

1500200025003000

0.05

time(s)

k d

图4-5 负荷为37%时BP 神经pid 控制下的个参数变化曲线

在负荷为100%时,导前区为:

12

0.815()(118)

G s s =

+,而惰性区的传递函数为

16

1.276()(118.4)

G s s =

+,也可近似为10s

e

-。

0200400600800

100012001400160018002000

0.2

0.4

0.6

0.8

1

1.2

1.4

time(s)

r i n ,y o u t

图4-6 负荷为100%时BP 神经pid 控制下的阶跃响应曲线

200400600800

100012001400160018002000

-0.2

00.20.40.6

0.8

1

1.2

time(s)

e r r o r

图4-7 负荷为100%时BP 神经pid 控制下的误差曲线

200400600800

100012001400160018002000

00.20.40.60.8

1

1.2

1.4

time(s)

u

图4-8负荷为100%时BP 神经pid 控制下的阶跃响应曲线

0200400600800

1000

12001400160018002000

0.04

0.060.08

time(s)

k p

0200400600800

1000

12001400160018002000

0.20.4time(s)

k i

0200400600800

1000

12001400160018002000

0.050.1

time(s)

k d

图4-9 负荷为100%时BP 神经pid 控制下的个参数变化曲线

5 结论

从以上仿真结果分析,基于BP神经网络的自整定PID控制能依据被控对象的变化自适应的调整PID的三个参数,依据一定的最优准则以求满足不同负荷下的控制要求。在不同负荷下,也即从锅炉的启动到稳定运行的整个过程,都可以保证系统的稳定性,且随着负荷逐渐接近额定负荷,控制效果越来越好,当满负荷运行时,该策略对于大迟延的主汽温系统取得了良好的控制性能。

6 参考文献

[1] 蔡自兴,陈海燕. 智能控制工程研究的进展[J]. 控制工程, 2003,10(1):1-3

[2] 蔡自兴. 智能控制-基础与应用. 北京:国防工业出版社, 1998:203-207

[3] 张立明.人工神经网络的模型及其应用[M],上海:复旦大学出版社, 1993:6-10

[4] 徐丽娜.神经网络控制[M]. 北京:电子工业出版社,2003.2:1-58 .

[5] 刘金琨. 智能控制[M]. 北京:电子工业出版社, 2005.05:185-187

[6] 陶永华. 新型PID控制及其应用[M]. 北京:机械工业出版社, 1998:158-160

[7] 李士勇. 模糊控制·神经控制和智能控制论[M]. 哈尔滨工业大学出版社, 1996:412-413

[8] 易继锴,侯媛彬. 智能控制技术[M]. 北京工业大学出版社, 1999:126—127

[9] 张建民. 智能控制原理及应用[M]. 北京:冶金工业出版社, 2003:136-137

[10] 徐安. 微型计算机控制技术[M]. 北京:科学出版社, 2004.08:231-235

7 程序记录

clear all;

close all;

xite=0.5;

alfa=0.05;

S=1; %Signal type

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);

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);

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.8682 0.1446 0.1537;

0.1716 0.5811 1.1214 0.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.0;u_2=0.0;u_3=0.0;u_4=0;u_5=0;

y_1=0.0;y_2=0.0;y_3=0.0;y_4=0;y_5=0;

Oh=zeros(H,1); %Output from NN middle layer

I=Oh; %Input to NN middle layer

error_2=0;

error_1=0;

ts=10;

for k=1:1:200

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

num=[0.815];

den=[324 36 1];

sys=tf(num,den,'inputdelay',10);

dsys=c2d(sys,ts,'z');

[num,den]=tfdata(dsys,'v');

yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_2+ num(3)*u_3 ; % tao/T=n,n>1 error(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*error_1+error_2;

epid=[x(1);x(2);x(3)];

I=xi*wi';

for j=1:1:H

Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j))); %Middle Layer end

K=wo*Oh; %Output Layer

for l=1:1:Out

K(l)=exp(K(l))/(exp(K(l))+exp(-K(l))); %Getting kp,ki,kd end

kp(k)=K(1);ki(k)=K(2);kd(k)=K(3);

Kpid=[kp(k),ki(k),kd(k)];

du(k)=Kpid*epid;

u(k)=u_1+du(k);

if u(k)>=10 % Restricting the output of controller

u(k)=10;

end

if u(k)<=-10

u(k)=-10;

end

dyu(k)=sign((yout(k)-y_1)/(u(k)-u_1+0.0000001));

%Output layer

for j=1:1:Out

dK(j)=2/(exp(K(j))+exp(-K(j)))^2;

end

for l=1:1:Out

delta3(l)=error(k)*dyu(k)*epid(l)*dK(l);

end

for l=1:1:Out

for i=1:1:H

d_wo=xite*delta3(l)*Oh(i)+alfa*(wo_1-wo_2);

end

end

wo=wo_1+d_wo+alfa*(wo_1-wo_2);

%Hidden layer

for i=1:1:H

dO(i)=4/(exp(I(i))+exp(-I(i)))^2;

end

segma=delta3*wo;

for i=1:1:H

delta2(i)=dO(i)*segma(i);

end

d_wi=xite*delta2'*xi;

wi=wi_1+d_wi+alfa*(wi_1-wi_2);

%Parameters Update

u_5=u_4;u_4=u_3;u_3=u_2;u_2=u_1;u_1=u(k);

y_5=y_4;y_4=y_3;y_3=y_2;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);

end

%bppid_s_plot

figure(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'); subplot(312);

plot(time,ki,'g');

xlabel('time(s)');ylabel('ki'); subplot(313);

plot(time,kd,'b');

xlabel('time(s)');

ylabel('kd');

BP神经网络预测的matlab代码

BP神经网络预测的matlab代码附录5: BP神经网络预测的matlab代码: P=[ 0 0.1386 0.2197 0.2773 0.3219 0.3584 0.3892 0.4159 0.4394 0.4605 0.4796 0.4970 0.5278 0.5545 0.5991 0.6089 0.6182 0.6271 0.6356 0.6438 0.6516

0.6592 0.6664 0.6735 0.7222 0.7275 0.7327 0.7378 0.7427 0.7475 0.7522 0.7568 0.7613 0.7657 0.7700] T=[0.4455 0.323 0.4116 0.3255 0.4486 0.2999 0.4926 0.2249 0.4893 0.2357 0.4866 0.2249 0.4819 0.2217 0.4997 0.2269 0.5027 0.217 0.5155 0.1918 0.5058 0.2395 0.4541 0.2408 0.4054 0.2701 0.3942 0.3316 0.2197 0.2963 0.5576 0.1061 0.4956 0.267 0.5126 0.2238 0.5314 0.2083 0.5191 0.208 0.5133 0.1848 0.5089 0.242 0.4812 0.2129 0.4927 0.287 0.4832 0.2742 0.5969 0.2403 0.5056 0.2173 0.5364 0.1994 0.5278 0.2015 0.5164 0.2239 0.4489 0.2404 0.4869 0.2963 0.4898 0.1987 0.5075 0.2917 0.4943 0.2902 ] threshold=[0 1] net=newff(threshold,[11,2],{'tansig','logsig'},'trainlm');

神经网络pid控制matlab程序

%Single Neural Adaptive PID Controller clear all; close all; x=[0,0,0]'; xiteP=0.40; xiteI=0.35; xiteD=0.40; %Initilizing kp,ki and kd wkp_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; for k=1:1:1000 time(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); %Adjusting Weight Value by hebb learning algorithm M=4; if M==1 %No Supervised Heb learning algorithm wkp(k)=wkp_1+xiteP*u_1*x(1); %P wki(k)=wki_1+xiteI*u_1*x(2); %I wkd(k)=wkd_1+xiteD*u_1*x(3); %D K=0.06; elseif M==2 %Supervised Delta learning algorithm wkp(k)=wkp_1+xiteP*error(k)*u_1; %P wki(k)=wki_1+xiteI*error(k)*u_1; %I wkd(k)=wkd_1+xiteD*error(k)*u_1; %D K=0.12; elseif M==3 %Supervised Heb learning algorithm wkp(k)=wkp_1+xiteP*error(k)*u_1*x(1); %P wki(k)=wki_1+xiteI*error(k)*u_1*x(2); %I wkd(k)=wkd_1+xiteD*error(k)*u_1*x(3); %D K=0.12; elseif M==4 %Improved Heb learning algorithm wkp(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; end x(1)=error(k)-error_1; %P

基于BP神经网络的PID控制器的设计

基于BP神经网络的PID控制器的研究与 实现 课程名称:人工神经网络

目录 前言 (3) 一、BP神经网络 (4) 二、模拟PID控制系统 (5) 三、基于BP神经网络的PID控制器 (6) 四、仿真程序 (10) 五、运行结果 (17) 六、总结 (18) 参考文献 (19)

前言 人工神经网络是以一种简单神经元为节点,采用某种网络拓扑结构构成的活性网络,可以用来描述几乎任意的非线性系统。不仅如此,人工神经网络还具有学习能力、记忆能力、计算能力以及各种智能处理能力,在不同程度和层次上模仿人脑神经系统的信息处理、存储和检索的功能。不同领域的科学家,对人工神经网络有着不同的理解、不同的研究内容,并且采用不同的研究方法。对于控制领域的研究工作者来说,人工神经网络的魅力在于:①能够充分逼近任意复杂的非线性关系,从而形成非线性动力学系统,以表示某种被控对象的模型或控制器模型;②能够学习和适应不确定性系统的动态特性;③所有定量或定性的信息都分布储存于网络内的各神经单元,从而具有很强的容错性和鲁棒性;④采用信息的分布式并行处理,可以进行快速大量运算。对于长期困扰控制界的非线性系统和不确定性系统来说,人工神经网络无疑是一种解决问题的有效途径。正因为如此,把人工神经网络引入传统的PID 控制,将这两者结合,则可以在一定程度上解决传统PID 调节器不易在线实时整定参数、难于对一些复杂过程和参数慢时变系统进行有效控制的不足。

一、BP神经网络 BP神经网络是一种有隐含层的多层前馈网络,其结构如图1-1所示。如果把具有M个输入节点和L个输出节点的BP神经网络看成是从M维欧氏空间到L维欧氏空间的非线性映射,则对于具有一定非线性因数的工业过程被控对象,采用BP网络来描述,不失为一种好的选择。在BP神经网络中的神经元多采用S型函数作为活化函数,利用其连续可导性,便于引入最小二乘学习算法,即在网络学习过程中,使网络的输出与期望输出的误差边向后传播边修正加权系数,以期使误差均方值最小。BP神经网络的学习过程可分为前向网络计算和反向误差传播——连接加权系数修正两个部分,这两个部分是相继连续反复进行的,直至误差满足要求。不论学习过程是否已经结束,只要在网络的输入节点加入输入信号,则这些信号将一层一层向前传播;通过每一层时要根据当时的连接加权系数和节点的活化函数与阈值进行相应计算,所得的输出再继续向下一层传输。这个前向网络计算过程,既是网络学习过程的一部分,也是将来网络的工作模式。在学习过程结束之前,如果前向网络计算的输出和期望输出之间存在误差,则转入反向传播,将误差沿着原来的连接通路回送,作为修改加权系数的依据,目标是使误差减小。

基于BP神经网络预测模型指南

基于BP神经网络的国际黄金价格预测模型 公文易文秘资源网顾孟钧张志和陈友2009-1-2 13:35:26我要投稿添加到百度搜藏 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型 [摘要] 为了寻找国际黄金价格与道琼斯工业指数、美国消费者指数,国际黄金储备等因素之间的内在关系,本文对1972年~2006年间的各项数据首先进行归一化处理,利用MATLAB神经网络工具箱进行模拟训练,建立了基于BP神经网络的国际黄金价格预测模型。 [关键词] MATLAB BP神经网络预测模型数据归一化 一、引言 自20世纪70年代初以来的30多年里,世界黄金价格出现了令人瞠目的剧烈变动。20 世纪70年代初,每盎司黄金价格仅为30多美元。80年代初,黄金暴涨到每盎司近700美元。本世纪初,黄金价格处于每盎司270美元左右,此后逐年攀升,到2006年5月12日达到了26年高点,每盎司730美元,此后又暴跌,仅一个月时间内就下跌了约160美元,跌幅高达21.9%。最近两年,黄金价格一度冲高到每盎司900多美元。黄金价格起伏如此之大,本文根据国际黄金价格的影响因素,通过BP神经网络预测模型来预测长期黄金价格。 二、影响因素 刘曙光和胡再勇证实将观察期延长为1972年~2006年时,则影响黄金价格的主要因素扩展至包含道琼斯指数、美国消费者价格指数、美元名义有效汇率、美国联邦基金利率和世界黄金储备5个因素。本文利用此观点,根据1972年~2006年各因素的值来建立神经网络预测模型。 三、模型构建

BP神经网络实验 Matlab

计算智能实验报告 实验名称:BP神经网络算法实验 班级名称: 2010级软工三班 专业:软件工程 姓名:李XX 学号: XXXXXX2010090

一、实验目的 1)编程实现BP神经网络算法; 2)探究BP算法中学习因子算法收敛趋势、收敛速度之间的关系; 3)修改训练后BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果,理解神经网络分布存储等特点。 二、实验要求 按照下面的要求操作,然后分析不同操作后网络输出结果。 1)可修改学习因子 2)可任意指定隐单元层数 3)可任意指定输入层、隐含层、输出层的单元数 4)可指定最大允许误差ε 5)可输入学习样本(增加样本) 6)可存储训练后的网络各神经元之间的连接权值矩阵; 7)修改训练后的BP神经网络部分连接权值,分析连接权值修改前和修改后对相同测试样本测试结果。 三、实验原理 1 明确BP神经网络算法的基本思想如下: 在BPNN中,后向传播是一种学习算法,体现为BPNN的训练过程,该过程是需要教师指导的;前馈型网络是一种结构,体现为BPNN的网络构架 反向传播算法通过迭代处理的方式,不断地调整连接神经元的网络权重,使得最终输出结果和预期结果的误差最小 BPNN是一种典型的神经网络,广泛应用于各种分类系统,它也包括了训练和使用两个阶段。由于训练阶段是BPNN能够投入使用的基础和前提,而使用阶段本身是一个非常简单的过程,也就是给出输入,BPNN会根据已经训练好的参数进行运算,得到输出结果 2 明确BP神经网络算法步骤和流程如下: 1初始化网络权值 2由给定的输入输出模式对计算隐层、输出层各单元输出 3计算新的连接权及阀值, 4选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。

pid神经网络控制器的设计

第三章 PID 神经网络结构及控制器的设计 在控制系统中,PID 控制是历史最悠久,生命力最强的控制方式,具有直观、实现简单和鲁棒性能好等一系列优点。但近年来随着计算机的广泛应用,智能控制被越来越广泛的应用到各种控制系统中。智能控制方法以神经元网络为代表,由于神经网络可实现以任意精度逼近任意函数,并具有自学习功能,因此适用于时变、非线性等特性未知的对象,容易弥补常规PID 控制的不足。将常规PID 控制同神经网络相结合是现代控制理论的一个发展趋势。 3.1 常规PID 控制算法和理论基础 3.1.1 模拟PID 控制系统 PID(Proportional 、Integral and Differential)控制是最早发展起来的控制策略之一,它以算法简单、鲁捧性好、可靠性高等优点而梭广泛应用于工业过程控制中。 PID 控制系统结构如图3.1所示: 图3.1 模拟PID 控制系统结构图 它主要由PID 控制器和被控对象所组成。而PID 控制器则由比例、积分、微分三个环节组成。它的数学描述为: 1() ()[()()]t p D i de t u t K e t e d T T dt ττ=+ +? (3.1) 式中,p K 为比例系数; i K 为积分时间常数: d K 为微分时间常数。 简单说来,PID 控制器各校正环节的主要控制作用如下: 1.比例环节即时成比例地反映控制系统的偏差信号()e t ,偏差一旦产生,控制器立即产生控制作用,以减少偏差。

2.积分环节主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数i T ,i T 越大,积分作用越弱,反之则越强。 3.微分环节能反映偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。 具体说来,PID 控制器有如下特点: (1)原理简单,实现方便,是一种能够满足大多数实际需要的基本控制器; (2)控制器能适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性,在很多情况下,其控制品质对被控对象的结构和参数摄动不敏感。 3.1.2 数字PID 控制算法 在计算机控制系统中,使用的是数字PID 控制器,数字PID 控制算法通常又分为位置式PID 控制算法和增量式PID 控制算法。 1.位置式PID 控制算法 由于计算机控制是一种采样控制,它只能根据采样时刻的偏差值计算控制量,故对式(3.1)中的积分和微分项不能直接使用,需要进行离散化处理。按模拟PID 控制算法的算式(3.1),现以一系列的采样时刻点kT 代表连续时间t ,以和式代替积分,以增量代替微分,则可以作如下的近似变换: t kT = (0,1,2,3...)k = ()()()k k t j j e t dt T e jT T e j ==≈=∑∑? ()()[(1)]()(1) de t e kT e k T e k e k dt T T ----≈= (3.2) 式中,T 表示采样周期。 显然,上述离散化过程中,采样周期T 必须足够短,才能保证有足够的精度。为了书写方便,将()e kT 简化表示()e k 成等,即省去T 。将式(3.2)代入到(3.1)中可以得到离散的PID 表达式为: 0(){()()[()(1)]}k D p j I T T u k K e k e j e k e k T T ==+ + --∑ (3.3) 或 0 ()()()[()(1)]}k p I D j u k K e k K e j K e k e k ==++--∑ (3.4) 式中,k ——采样序号,0,1,2...k =; ()u k ——第k 次采样时刻的计算机输出值;

基于S函数的RBF神经网络PID控制器

基于径向基函数的神经网络的PID控制器 摘要 RBF神经网络在分类问题中得到了广泛的应用,尤其是模式识别的问题。许多模式识别实验证明,RBF具有更有效的非线性逼近能力,并且RBF神经网络的学习速度较其他网络快。本文在具有复杂控制规律的S函数构造方法的基础上,给出了基于MATLAB语言的RBF神经网络PID控制器,及该模型的一非线性对象的仿真结果。 关键词:S函数;RBF神经网络PID控制器;Simulink仿真模型径向基函数(RBF-Radial Basis Function)神经网络是由J.Moody和C.Darken 在20世纪80年代末提出的一种神经网络,它具有单隐层的三层前馈网络。由于它模拟了人脑中局部调整、相互覆盖接受域(或称野-Receptive Field)的神经网络结构,因此,RBF神经网络是一种局部逼近网络,已证明它能以任意精度逼近任意连续函数。 1.S函数的编写方法 S函数是Simulink中的高级功能模块,Simulink是运行在MATLAB环境下用于建模、仿真和分析动态系统的软件包。只要所研究的系统模型能够由MATLAB语言加以描述,就可构造出相应的S函数,从而借助Simulink中的S 函数功能模块实现MATLAB与Simulink之间的沟通与联系,这样处理可以充分发挥MATLAB编程灵活与Simulink简单直观的各自优势。当系统采用较复杂的控制规律时,Simulink中没有现成功能模块可用,通常都要采用MATLAB编程语言,编写大量复杂而繁琐的源程序代码进行仿真,一是编程复杂、工作量较大,二来也很不直观。如果能利用Simulink提供的S函数来实现这种控制规律,就可以避免原来直接采取编程的方法,不需要编写大量复杂而繁琐的源程序,编程快速、简捷,调试方便,则所要完成的系统仿真工作量会大大减少。 RBF神经网络PID控制器的核心部分的S函数为: function [sys,x0,str,ts]=nnrbf_pid(t,x,u,flag,T,nn,K_pid,eta_pid,xite,alfa,beta0,w0) switch flag,

用matlab编BP神经网络预测程序加一个优秀程序

求用matlab编BP神经网络预测程序 求一用matlab编的程序 P=[。。。];输入T=[。。。];输出 % 创建一个新的前向神经网络 net_1=newff(minmax(P),[10,1],{'tansig','purelin'},'traingdm') % 当前输入层权值和阈值 inputWeights=net_1.IW{1,1} inputbias=net_1.b{1} % 当前网络层权值和阈值 layerWeights=net_1.LW{2,1} layerbias=net_1.b{2} % 设置训练参数 net_1.trainParam.show = 50; net_1.trainParam.lr = 0.05; net_1.trainParam.mc = 0.9; net_1.trainParam.epochs = 10000; net_1.trainParam.goal = 1e-3; % 调用TRAINGDM 算法训练BP 网络 [net_1,tr]=train(net_1,P,T); % 对BP 网络进行仿真 A = sim(net_1,P); % 计算仿真误差 E = T - A; MSE=mse(E) x=[。。。]';%测试 sim(net_1,x) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 不可能啊我2009 28对初学神经网络者的小提示

第二步:掌握如下算法: 2.最小均方误差,这个原理是下面提到的神经网络学习算法的理论核心,入门者要先看《高等数学》(高等教育出版社,同济大学版)第8章的第十节:“最小二乘法”。 3.在第2步的基础上看Hebb学习算法、SOM和K-近邻算法,上述算法都是在最小均方误差基础上的改进算法,参考书籍是《神经网络原理》(机械工业出版社,Simon Haykin著,中英文都有)、《人工神经网络与模拟进化计算》(清华大学出版社,阎平凡,张长水著)、《模式分类》(机械工业出版社,Richard O. Duda等著,中英文都有)、《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)。 4.ART(自适应谐振理论),该算法的最通俗易懂的读物就是《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第15和16章。若看理论分析较费劲可直接编程实现一下16.2.7节的ART1算法小节中的算法. 4.BP算法,初学者若对误差反传的分析过程理解吃力可先跳过理论分析和证明的内容,直接利用最后的学习规则编个小程序并测试,建议看《机器学习》(机械工业出版社,Tom M. Mitchell著,中英文都有)的第4章和《神经网络设计》(机械工业出版社,Martin T. Hargan等著,中英文都有)的第11章。 BP神经网络Matlab实例(1) 分类:Matlab实例 采用Matlab工具箱函数建立神经网络,对一些基本的神经网络参数进行了说明,深入了解参考Matlab帮助文档。 % 例1 采用动量梯度下降算法训练BP 网络。 % 训练样本定义如下: % 输入矢量为 % p =[-1 -2 3 1 % -1 1 5 -3] % 目标矢量为t = [-1 -1 1 1] close all clear clc % --------------------------------------------------------------- % NEWFF——生成一个新的前向神经网络,函数格式: % net = newff(PR,[S1 S2...SNl],{TF1 TF2...TFNl},BTF,BLF,PF) takes, % PR -- R x 2 matrix of min and max values for R input elements % (对于R维输入,PR是一个R x 2 的矩阵,每一行是相应输入的

神经网络PID控制

基于神经网络PID控制算法在多缸电液伺服系统同步控制中的仿真 研究 丁曙光,刘勇 合肥工业大学,合肥,230009 摘要:本文介绍了神经网络控制原理,提出了神经网络PID算法,通过选定三层神经网络作为调节函数,经过Simulink仿真确定了神经网络PID控制器的参数,设计了神经网络PID控制器。推导出多缸液压同步控制系统在各种工况下的传递函数,并把该控制器应用到多缸液压同步控制系统中。经过仿真研究表明该控制器控制效果良好,能满足多缸液压同步的控制要求。 关键词:多缸同步;PID算法;仿真;神经网络 Study on the simulation and appllication of hydraulic servo system of straihtening machine based on Immune Neural network PID control alorithm DING Shu-guang, GUI Gui-sheng,ZHAI Hua Hefei University of Technology, Hefei 23009 Abstract:The principle of immune feedback and immune-neural network PID algorithm was respectively.An immune-neural network PID controller was designed by which an adaline neural network was selected as antibody stay function and parameters of the immune-neural network PID controller were determined by simulation.The transfer function of the hydraulic servo system of crankshaft straightenin on were introduced in different working conditions.The immune-neural network PID controller was applied to hydraulic system of crankshaft straightenin.The simulation and equipment were done,and results show that its control effectiveness is better and can meet the needs of he hydraulic servo-system of crankshaft straightening hydraulic press. Key words:straightening machine; Immune control arithmetic; simulation;neural network 0引言 精密校直液压机(精校机)液压伺服系统是精校机的执行环节,高精度液压位置伺服控制是精校机的关键技术之一,它保证了液压伺服控制系统的控制精度、稳定性和快速性,是完成校直工艺的必要条件。因此,精校机液压伺服控制系统的研究,为精校机产品的设计和制造提供了理论依据,对校直技术和成套设备的开发具有重大的意义[1]。 精校机液压位置伺服系统是一个复杂的系统,具有如下特点:精确模型难建立,要求位置控制精度高、超调量小、响应快、参数易变且难以确定[1]。因此该系统的控制有较大的难度。传统的PID控制虽然简单易行,但参数调整困难,具有明显的滞后特性,PID 控制很难一直保证系统的控制精度,Smith预估补偿 国家重大科技专项资助(项目编号:2009ZX04004-021)安徽省自然科学基金资助(项目编号:090414155)和安徽省科技攻关项目资助(项目编号:06012019A)制方法从理论上为解决时滞系统的控制问题提供了一种有效的方法,但是Smith预估器控制的鲁棒性差,系统性能过分依赖补偿模型的准确性,限制了它在实际过程中的应用[1~5]。 近年来,人们开始将生物系统的许多有益特性应用于各种控制中[1~5],取得了一定成果。自然免疫系统使生物体的一个高度进化、复杂的功能系统,它能自适应地识别和排除侵入肌体的抗原性异物,并且具有学习、记忆和自适应调节功能,以维护肌体内环境的稳定。自然免疫系统非常复杂,但其抵御抗原(antigen)的自适应能力十分显著。生物信息的这种智能特性启发人们利用它来解决一些工程难题,这就引起多种免疫方法的出现。人工免疫系统就是借鉴自然免疫系统自适应、自组织的特性而发展起来的一种智能计算技术。该算法在大量的干扰和不确定环境中都具很强的鲁棒性和自适应性,在控制、优化、模式识别、分类

基于BP神经网络PID整定原理和算法步骤

摘要 神经网络作为一门新兴的信息处理科学,是对人脑若干基本特性的抽象和模拟。它是以人的大脑工作模式为基础,研究自适应及非程序的信息处理方法。这种工作机制的特点表现为通过网络中大量神经元的作用来体现自身的处理功能,从模拟人脑的结构和单个神经元功能出发,达到模拟人脑处理信息的目的。 目前,在国民经济和国防科技现代化建设中神经网络具有广阔的应用领域和发展前景,其应用领域主要表现在信息领域、自动化领域、工程领域和经济领域等。 本文以BP神经网络作为研究对象。研究的内容主要有:首先介绍了神经网络的概念、控制结构,学习方式等。其次,介绍了人工神经元模型,并对BP神经网络的基本原理及推导过程进行详细阐述。再次将BP神经网络的算法应用于PID 中,介绍了基于BP神经网络PID整定原理和算法步骤。最后利用 MATLAB/Simulink 对BP神经网络PID控制系统进行仿真,得出BP神经网络的控制效果明显好,它具有很强的自整定,自适应功能。 关键词:BP算法,PID控制,自整定

ABSTRACT As a kind of emerging information processing science,the neural network can simulate some basic characteristic of human brain. It is an information-processed method which takes person's cerebrum working pattern as a foundation and studies the model of adaptive and non- program. The characteristics of this kind of work mechanism are that it can show its processing function through the massive neurons function in the network. Then, it starts with simulating the human brain structure and the single neuron function to achieve the goal that simulates the human brain to process information. Nowadays, the neural network has wide application fields and prospects in the national economy and modernization of national defense science. It mainly applies in information, automation, economical and so on. This article takes the BP neural network as the research object. The content of the research mainly contain: firstly, it introduces the concept of neural network, control structure and mode of study and so on. Secondly, it introduces the artificial neuron model, the basic principles of BP neural network and the derivation process in detail. Then, it applies BP neural network in the PID, and introduces the tuning principles of PID based the BP neural network and steps of the algorithm. Finally, Matlab/Simulink is used to simulate the BP neural network PID control system. In the consequence, the performance of BP neutral network control significantly good. BP neural network control system has a strong self-tuning, adaptive function. KEY WORDS: BP algorithm, PID control, self-tuning

MATLAB基于BP神经网络PID控制程序

MATLAB基于BP神经网络PID控制程序>> %BP based PID Control clear all; close all; xite=0.20; %学习速率 alfa=0.01; %惯性因子 IN=4;H=5;Out=3; %NN Structure 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); %隐含层加权系数wi初始化 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); %输出层加权系数wo初始化 wo_1=wo;wo_2=wo;wo_3=wo; ts=20; %采样周期取值 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); %Output from NN middle layer 隐含层的输出I=Oh; %Input to NN middle layer 隐含层输入 error_2=0; error_1=0; for k=1:1:500 %仿真开始,共500步 time(k)=k*ts;

BP神经网络matlab源程序代码

close all clear echo on clc % NEWFF——生成一个新的前向神经网络 % TRAIN——对 BP 神经网络进行训练 % SIM——对 BP 神经网络进行仿真 % 定义训练样本 % P为输入矢量 P=[0.7317 0.6790 0.5710 0.5673 0.5948;0.6790 0.5710 0.5673 0.5948 0.6292; ... 0.5710 0.5673 0.5948 0.6292 0.6488;0.5673 0.5948 0.6292 0.6488 0.6130; ... 0.5948 0.6292 0.6488 0.6130 0.5654; 0.6292 0.6488 0.6130 0.5654 0.5567; ... 0.6488 0.6130 0.5654 0.5567 0.5673;0.6130 0.5654 0.5567 0.5673 0.5976; ... 0.5654 0.5567 0.5673 0.5976 0.6269;0.5567 0.5673 0.5976 0.6269 0.6274; ... 0.5673 0.5976 0.6269 0.6274 0.6301;0.5976 0.6269 0.6274 0.6301 0.5803; ... 0.6269 0.6274 0.6301 0.5803 0.6668;0.6274 0.6301 0.5803 0.6668 0.6896; ... 0.6301 0.5803 0.6668 0.6896 0.7497]; % T为目标矢量 T=[0.6292 0.6488 0.6130 0.5654 0.5567 0.5673 0.5976 ... 0.6269 0.6274 0.6301 0.5803 0.6668 0.6896 0.7497 0.8094]; % Ptest为测试输入矢量 Ptest=[0.5803 0.6668 0.6896 0.7497 0.8094;0.6668 0.6896 0.7497 0.8094 0.8722; ... 0.6896 0.7497 0.8094 0.8722 0.9096]; % Ttest为测试目标矢量 Ttest=[0.8722 0.9096 1.0000]; % 创建一个新的前向神经网络 net=newff(minmax(P'),[12,1],{'logsig','purelin'},'traingdm'); % 设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 5000; net.trainParam.goal = 0.001; % 调用TRAINGDM算法训练 BP 网络 [net,tr]=train(net,P',T); % 对BP网络进行仿真 A=sim(net,P'); figure; plot((1993:2007),T,'-*',(1993:2007),A,'-o'); title('网络的实际输出和仿真输出结果,*为真实值,o为预测值'); xlabel('年份'); ylabel('客运量'); % 对BP网络进行测试 A1=sim(net,Ptest');

基于神经网络的PID控制

基于神经网络的PID控制 课程名称:智能控制 任课教师: 学生姓名: 学号: 年月日

摘要:本文基于BP神经网络的PID控制方法设计控制器,通过BP神经网络与PID的控制相结合的神经网络控制基本原理和设计来自适应的功能调节PID的的三个参数,并根据被控对象的近似数学模型来输出输入与输出并分析BP神经网络学习速率η,隐层节点数的选择原则及PID参数对控制效果的影响。计算机的仿真结果表示,基于BP神经网络的PID控制较常规的PID控制具有更好的自适应性,能取得良好的的控制结果。 关键字:BP算法神经网络 PID控制 Abstract:In this paper, based on BP neural network PID control method designed controller, through the BP neural network PID control with a combination of neural network control basic principles and design features adaptively adjusting the PID of the three parameters, and based on the controlled object approximate mathematical model to analyze the output and the input and output BP n eural network learning rate η, hidden layer nodes and PID parameter selection principle effect of the control . Computer simulation results indicated that based on BP neural network PID control compared with conventional PID control has better adaptability , can achieve good control results . Keyword:BP algorithms neural networks PID control 1引言 PID控制是最早发展起来的应用经典控制理论的控制策略之一,由于算法简单,鲁棒性好和可靠性高,被广泛应用于工业过程并取得了良好的控制效果。随着工业的发展,对象的复杂程度不断加深,尤其对于大滞后、时变的、非线性的复杂系统,常规PID控制显得无能为力。因此常规PID控制的应用受到很大的限制和挑战。 神经网络在控制系统中的应用提高了整个系统的信息系统处理能力和适应能力,提高了系统的智能水平。此外,神经网络具有逼近任意连续有界非线性函数的能力,对于非线性系统和不确定性系统,无疑是一种解决问题的有效途径。本文将常规PID控制与神经网络控制相结合,发挥各自的优势,形成所谓的智能PID控制。采用BP神经网络方法设计的控制系统具有更快的速度(实时性)、更强的适应性和更好的鲁棒性。 2 基于BP神经网络的PID控制 PID控制要取得较好的控制结果,必须通过调整好比例、积分和微分三种控制作用,形成控制量中既要相互配合又相互制约的关系。神经网络所具有的任意非线性表达能力,可以通过对系统性能的学习来实现最佳组合的PID控制。采用BP网络,可以建立参数Kp、Ki、Kd自学习的PID控制器。基于BP神经网络的PID控制系统结构由常规的PID控制器和神经网络两个部分构成。 2.1常规的PID控制器 PID控制器由比例(P)、积分(I)、微分(D)3个部分组成,直接对被控对象进行闭环控制,并且三个参数 Kp、Ki、Kd为在线调整方式。 2.2 神经网络 根据系统的运行状态,调节PID控制器的参数,以期达到某种性能指标的最

基于Bp神经网络的股票预测

基于神经网络的股票预测 【摘要】: 股票分析和预测是一个复杂的研究领域,本论文将股票技术分析理论与人工神经网络相结合,针对股票市场这一非线性系统,运用BP神经网络,研究基于历史数据分析的股票预测模型,同时,对单只股票短期收盘价格的预测进行深入的理论分析和实证研究。本文探讨了BP神经网络的模型与结构、BP算法的学习规则、权值和阈值等,构建了基于BP神经网络的股票短期预测模型,研究了神经网络的模式、泛化能力等问题。并且,利用搭建起的BP神经网络预测模型,采用多输入单输出、单隐含层的系统,用前五天的价格来预测第六天的价格。对于网络的训练,选用学习率可变的动量BP算法,同时,对网络结构进行了隐含层节点的优化,多次尝试,确定最为合理、可行的隐含层节点数,从而有效地解决了神经网络隐含层节点的选取问题。 【abstract] Stock analysis and forecasting is a complex field of study. The paper will make research on stock prediction model based on the analysis of historical data, using BP neural network and technical analysis theory. At the same time, making in-depth theoretical analysis and empirical studies on the short-term closing price forecasts of single stock. Secondly, making research on the model and structure of BP neural network, learning rules, weights of BP algorithm and so on, building a stock short-term forecasting model based on the BP neural network, related with the model of neural network and the ability of generalization. Moreover, using system of multiple-input single-output and single hidden layer, to forecast the sixth day price by BP neural network forecasting model structured. The network of training is chosen BP algorithm of traingdx, while making optimization on the node numbers of the hidden layer by several attempts. Thereby resolve effectively the problem of it. 【关键词】BP神经网络股票预测分析 1.引言 股票市场是一个不稳定的非线性动态变化的复杂系统,股价的变动受众多因素的影响。影响股价的因素可简单地分为两类,一类是公司基本面的因素,另一类是股票技术面的因素,虽然股票的价值是公司未来现金流的折现,由公司的基本面所决定,但是由于公司基本面的数据更新时间慢,且很多时候并不能客观反映公司的实际状况,采用适当数学模型就能在一定

相关主题
文本预览
相关文档 最新文档