智能控制实验报告

  • 格式:doc
  • 大小:922.00 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

智能控制实验报告

姓名徐斯

学号6100310139

学院信息工程学院

班级自动化102班

2013年12月24日

南昌大学实验报告

学生姓名:徐斯学号: 6100310139专业班级:自动化102班

实验类型:□验证□综合□设计□创新实验日期:实验成绩:

单容水箱神经网络控制

一、实验目的

1、熟悉神经网络的特征、结构及学习算法

2、通过实验进一步掌握神经网络的原理及实现

3、了解神经网络的结构对控制效果的影响

4、掌握用MATLAB事先神经网络控制系统仿真的方法

5、通过BP神经网络逼近的方法,使单容水箱中的H能够稳定在100

二、实验设备及条件

计算机(装有MATLAB仿真软件)

三、实验原理

1.BP神经网络的结构

含一个隐含层的BP网

络结构如左图所示,图中i

为输入层神经元, j为隐层

神经元,k为输出层神经元。

2.BP神经网络的逼近

BP网络逼近的结构如下图所示,图中k为网络的迭代步骤,u(k)和y(k)为逼近器的输入。BP为网络逼近器,y(k)为被控对象实际输出,yn(k)为BP的输出。将系统输出y(k)及输入u(k)的值作为逼近器BP的输入,将系统输出与网络输出的误差作为逼近器的调整信号。

用于逼近的BP网络如上右图所示

3.BP算法的学习

BP算法的学习过程由信息的正向传播和误差的反向传播两个过程组成。在正向传播过程中,输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,由输出层向外界输出信息处理结果。当实际输出与期望输出不符时,进入误差的反向传播阶段。误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。周而复始的信息正向传播和误差反向传播过程,是各层权值不断调整的过程,也是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度。

四、实验设计过程及结果

1、写出三容水箱各流量液位的数学表达式:

q1=3.5*k;

q2=21*sqrt(h);

h=h+(q1-q2)/s;

s=120;

) (k y

n

) (k u

) (k y

ij

w2j w

'

j

x

j

x

i

x

五、程序

clear all;

close all;

M=60;%阀门开度初始值为60 H=100;

h=80;

b=3.5;

s=120;

xite=0.50;

alfa=0.05;

w2=rands(6,1);

w2_1=w2;w2_2=w2_1;

w1=rands(1,6);

w1_1=w1;w1_2=w1_1;

dw1=0*w1;

x=[0]';

I=[0,0,0,0,0,0]';

Iout=[0,0,0,0,0,0]';

FI=[0,0,0,0,0,0]';

ts=0.001;

for k=1:1:8500 Q1

Q2

k h

单容水箱

time(k)=k*ts;

L(k)=h;

e1(k)=H-h;

q1=b*M;

q2=21*sqrt(h);

h=h+(q1-q2)/s;

e3(k)=L(k)-h;

for j=1:1:6

I(j)=x'*w1(:,j);

Iout(j)=1/(1+exp(-I(j)));

end

Mn(k)=w2'*Iout;

e2(k)=M-Mn(k);

w2=w2_1+(xite*e2(k))*Iout+alfa*(w2_1-w2_2);

for j=1:1:6

FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;

end

for i= 1:1:1

for j=1:1:6

dw1(i,j)=e2(k)*xite*FI(j)*w2(j)*x(i);

end

end

w1=w1_1+dw1+alfa*(w1_1-w1_2);

yu=0;

for j=1:1:6

yu=yu+w2(j)*w1(1,j)*FI(j);

end

dyu(k)=yu;

x=e1(k);

w1_2=w1_1;w1_1=w1;

w2_2=w2_1;w2_1=w2;

end

figure(1);

plot(time,L,'r',time,e1,'b');

figure(2);

plot(time,e3);

六、实验结果

1

2

3

4

5

6

7

8

9

0102030405060708090

100

1

2

3

4

5

6

7

8

9

-0.2

-0.18-0.16-0.14-0.12-0.1-0.08-0.06-0.04-0.02

如图:水位由原先的80增长到100,最终稳定在设定的100上,而水位差从20降到了0,使水位满足实验要求,从第二个图也可以看出,L 与h 有一个跟随的过程,但其最终稳定在0,说明水位最终是没有偏差的稳定于100。 七、 实验总结。

本次实验我熟悉掌握论文matlab 程序的编写;了解智能控制中BP 神经网络控制的基本原理及思路,并应用于实践;在控制单容水箱中有比较良好的效果;