智能控制实验报告
姓 名 阳振宇 学 号 6100310093 学 院 信息工程学院 班 级 自动化102班
2013年12月24日
学生姓名:
南昌大学实验报告
阳振宇 学 号: 6100310093 专业班级: 自动化102班
实验类型: □ 验证□ 综合 □ 设计 □ 创新 实验日期: 实验成绩:
单容水箱神经网络控制
一、实验目的
1、熟悉神经网络的特征、结构及学习算法 2、通过实验进一步掌握神经网络的原理及实现 3、了解神经网络的结构对控制效果的影响
4、掌握用MATLAB事先神经网络控制系统仿真的方法
5、通过BP神经网络逼近的方法,使单容水箱中的H能够稳定在100
二、实验设备及条件
计算机(装有MATLAB仿真软件)
三、实验原理
1.BP神经网络的结构
含一个隐含层的BP网络结构如左图所示,图中i为输入层神经元, j为隐层神经元,k为输出层神经元。
yn(k)
四、实验设计过程及结果
1、写出三容水箱各流量液位的数学表达式:
q1=3.5*k; q2=21*sqrt(h);
h=h+(q1-q2)/s; s=120;
五、程序
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
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);
六、实验结果
10090
807060504030201000
1
2
3
4
5
6
7
8
9
0-0.02
-0.04-0.06-0.08-0.1-0.12-0.14-0.16-0.18-0.2
1
2
3
4
5
6
7
8
9
如图:水位由原先的80增长到100,最终稳定在设定的100上,而水位差从20降到了0,使水位满足实验要求,从第二个图也可以看出,L与h有一个跟随的过程,但其最终稳定在0,说明水位最终是没有偏差的稳定于100。 七、 实验总结。
本次实验我了解BP神经网络控制的基本算法,熟悉掌握论文matlab 程序的编写;了解智能控制中BP神经网络控制的基本原理及思路,并应用于实践;
在控制单容水箱中有比较良好的效果;在调试过程中,熟悉了调试的方法,根据结果分析如何设置调整参数要有足够的耐心。在编写程序方面由于是使用课本上的参考程序,因此没有遇到问题,主要的疑问是在选择参数上,最后在老师和同学的帮助下,确定了参数的变化范围,改变两个参数后,得到仿真结果,分析后得到结论,实验顺利结束,通过BP神经网络逼近的方法,使单容水箱中的H能够稳定在100。