先进控制实验报告Word文件下载.docx
- 文档编号:6490307
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:15
- 大小:103.17KB
先进控制实验报告Word文件下载.docx
《先进控制实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《先进控制实验报告Word文件下载.docx(15页珍藏版)》请在冰点文库上搜索。
Kp=0.45;
Ki=0.00001;
Kd=0.001;
U_1=0;
U_2=0;
U_3=0;
Y_1=0;
Y_2=0;
Y_3=0;
e_1=0;
e_2=0;
A=Kp+Ki+Kd;
B=-Kp-2*Kd;
C=Kd;
fork=1:
1:
1500%k=1以1为增量增到1500
rin(k)=1;
%信号
time(k)=k*ts;
yout(k)=-den
(2)*Y_1-den(3)*Y_2-den(4)*Y_3+num
(2)*U_1+num(3)*U_2+num(4)*U_3;
error(k)=rin(k)-yout(k);
u(k)=A*error(k)+B*e_1+C*e_2;
u(k)=U_1+u(k);
U_3=U_2;
U_2=U_1;
U_1=u(k);
Y_3=Y_2;
Y_2=Y_1;
Y_1=yout(k);
e_2=e_1;
e_1=error(k);
end
figure
(1);
%画图开图框
plot(time,rin,'
b'
time,yout,'
r'
%是颜色time是变量横坐标time和rin长度要一样
xlabel('
time(s)'
),ylabel('
rin,yout'
(四)实验结果:
(5)实验总结:
经过这次实验,我不但复习了Matlab的基础知识并且学会了通过编写M文件来实现常规及增量式PID控制器的设计,针对不同的控制对象选择设定不同的控制参数,来完成控制目标,使得控制系统达到理想的超调,稳态误差等。
同时经过老师的讲解,我不仅复习了PID控制三个参数的意义还了解了增量式PID的原理与建模与推导过程,并通过Matlab实现了此类PID控制,绘制了增量式PID的阶跃响应曲线,得知了此类PID的优缺点。
与书本上的知识相对应使得我对PID控制的认知更加深刻。
实验二、模糊控制实验
1、掌握模糊控制基本原理并编程实现。
2、理解模糊PID控制基本原理并编程实现。
1、模糊控制编程实验。
2、模糊PID控制编程实验。
a=newfis('
fuzz_ljk'
f1=1.0;
a=addvar(a,'
input'
'
e'
[-3*f1,3*f1]);
a=addmf(a,'
1,'
NB'
zmf'
[-3*f1,-1*f1]);
NM,'
trimf'
[-3*f1,-2*f1,0]);
NS,'
[-3*f1,-1*f1,1*f1]);
Z,'
[-2*f1,0,2*f1]);
PS,'
[-1*f1,1*f1,3*f1]);
PM,'
[0,2*f1,3*f1]);
PB,'
smf'
[1*f1,3*f1]);
f2=1.0;
ec'
[-3*f2,3*f2]);
2,'
[-3*f2,-1*f2]);
[-3*f2,-2*f2,0]);
[-3*f2,-1*f2,1*f2]);
[-2*f2,0,2*f2]);
[-1*f2,1*f2,3*f2]);
[0,2*f2,3*f2]);
[1*f2,3*f2]);
f3=0.1;
output'
kp'
f4=0.02
ki'
f5=1
kd'
3,'
rulelist=[1171511;
1271311;
1362111;
1462111;
1553111;
1644211;
1744511;
2171511;
2271311;
2362111;
2453211;
2553211;
2644311;
2734411;
3161411;
3262311;
3363211;
3453211;
3544311;
3635311;
3735411;
4162411;
4262311;
4353311;
4444311;
4535311;
4626311;
4726411;
5152411;
5253411;
5344411;
5435411;
5535411;
5626411;
5727411;
6154711;
6244511;
6335511;
6425511;
6526511;
6627511;
6717711;
7144711;
7244611;
7325611;
7426611;
7526511;
7617511;
7717711];
a=addrule(a,rulelist);
a1=setfis(a,'
DefuzzMethod'
centroid'
ts=0.001;
Kp=0.50;
Ki=0.001;
Kd=0.0001;
U_2=0;
ec_1=0;
pid=[0,0,0];
kp0=0.3;
ki0=0.06;
kd0=3;
2000%k=1以1为增量增到1500
pid=evalfis([e_1ec_1],a);
kp=kp0+pid
(1);
ki=ki0+pid
(2);
kd=kd0+pid(3);
rin(k)=1*sign(sin(1*2*pi*k*ts));
ec_1=error(k)-e_1;
End
%time是变量横坐标time和rin长度要一样
5)实验总结:
通过该实验的练习让我对模糊控制有了深入的了解,知道了模糊控制的基本思想和原理,熟悉了各种模糊控制系统工具箱函数的用法,加深了对模糊控制的理解和编程方法,对各种隶属度函数有了进一步的理解,对模糊控制的应用也有了更加直观的理解,也熟悉了matlab软件的功能
实验三、BP神经网络控制实验
1、掌握BP神经网络基本原理。
2、掌握基于BP神经网络的PID控制算法原理并编程实现。
1、BP神经网络分类编程实验。
2、基于BP神经网络的PID控制算法编程实验。
clc;
xite=0.25;
alfa=0.05;
S=1;
IN=4;
H=5;
Out=3;
ifS==1
wi=[-0.6394-0.2696-0.3756-0.7023;
-0.8603-0.2013-0.5024-0.2594;
-1.07490.5543-1.6820-0.5437;
-0.3625-0.0724-0.6463-0.2859;
0.14250.0279-0.5406-0.7660];
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_1=wo;
wo_2=wo;
wo_3=wo;
ifS==2
wi=[-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];
wo=[1.04380.54780.86820.14460.1537;
0.17160.58111.12140.50670.7370;
1.00630.74281.05340.78240.6494];
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);
error_2=0;
error_1=0;
1000
rin(k)=1.0;
elseifS==2;
rin(k)=sin(1*2*pi*k*ts);
a(k)=1.2*(1-0.8*(exp(-0.1*k)))^3;
yout(k)=a(k)*y_1/(1+y_1^2)+u_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'
;
fori=1:
5
oh(i)=(exp(I(i))-exp(-I(i)))/(exp(I(i))+exp(-I(i)));
%oh隐层输出
KI=wo*oh'
%KI输出层的输入
3
K(i)=exp(KI(i))/(exp(KI(i))+exp(-KI(i)));
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);
ifu(k)>
=10
u(k)=10;
ifu(k)<
=-10
u(k)=-10;
d_f(i)=2/((exp(KI(i))+exp(-KI(i)))^2);
delta3=error(k)*d_f'
d_wo=-delta3*oh;
wo_1=wo;
wo=wo_1+d_wo;
H
dO(i)=4/(exp(I(i))+exp(-I(i)))^2;
segma=delta3'
*wo;
delta2(i)=dO(i)*segma(i);
d_wi=xite*delta2'
*xi;
wi=wi_1+d_wi+alfa*(wi_1-wi_2);
u_5=u_4;
u_4=u_3;
u_3=u_2;
u_2=u_1;
u_1=u(k);
y_2=y_1;
y_1=yout(k);
wo_3=wo_2;
wo_2=wo_1;
wi_3=wi_2;
wi_2=wi_1;
wi_1=wi;
error_2=error_1;
error_1=error(k);
ylabel('
figure
(2);
plot(time,error,'
error'
figure(3);
plot(time,u,'
u'
figure(4);
subplot(311)
plot(time,kp,'
subplot(312)
plot(time,ki,'
g'
subplot(313)
plot(time,kd,'
(4)实验结果:
(五)实验总结:
通过编程实现使用BP网络对函数进行逼近,对BP网络的信号和误差传递的原理以及隐层、输出层权值调整的规则有了充分的理解和认识。
BP网络是一个强大的工具,它是应用最为广泛的网络。
用于文字识别、模式分类、文字到声音的转换、图像压缩、决策支持等。
但是,通过实验看出,它还是存在一定的不足。
由于本实验中采用的学习率是固定不变的,从而使得在函数逼近的时候在有些地方出现了偏离,如果能自适应的调整学习率,使网络在学习初期具有较大的学习率,以快速逼近函数,当已经逼近理想输出时再使用较小的学习率,来更加精准的去逼近函数,这样会得到更好的逼近效果和更小的错误率。
另外,BP网络还具有收敛速度慢、容易陷入局部极小值的问题。
这些问题通过对标准BP算法的改进能得到一定程度的解决。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 先进 控制 实验 报告