西华大学智能控制实验报告Word文件下载.docx
- 文档编号:16824379
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:29
- 大小:297.61KB
西华大学智能控制实验报告Word文件下载.docx
《西华大学智能控制实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《西华大学智能控制实验报告Word文件下载.docx(29页珍藏版)》请在冰豆网上搜索。
PM
PB
(2)双击Simulink图的“Fuzzylogiccontroller”,输入a2;
(3)运行Simulink程序,记录仿真结果。
3、根据教材上Matlab程序Fuzzy_PID.m,完成实验内容(3)。
五、实验过程记录(数据、图表、计算等)
1、常规的PID控制器
(1)当P=1I=2D=3时,仿真结果如下:
(2)当P=2I=2D=2时,仿真结果如下:
2、常规的模糊控制器
(1)模糊系统fuzzpid.fis的结构
(2)偏差隶属度函数
(3)偏差变化率隶属度函数(4)控制器输出隶属度函数
(5)Simulink仿真图:
3、模糊PID控制器
(1)模糊系统fuzzpid.fis的结构
(2)模糊推理系统的动态仿真环境
(3)模糊PI控制阶跃响应
(4)
的模糊自适应调整
(5)
六、实验结果分析及问题讨论
附录:
实验程序
(注:
修改部分已加粗)
1、常规的模糊控制器
%FuzzyControllerDesign
clearall;
closeall;
a=newfis('
fuzzf'
);
f1=1;
a=addvar(a,'
input'
'
e'
[-6*f1,6*f1]);
%Parametere
a=addmf(a,'
1,'
NB'
trimf'
[-6*f1,-6*f1,-4*f1]);
NM'
[-6*f1,-4*f1,-2*f1]);
NS'
[-4*f1,-2*f1,0]);
Z'
[-2*f1,0,2*f1]);
PS'
[0,2*f1,4*f1]);
PM'
[2*f1,4*f1,6*f1]);
PB'
[4*f1,6*f1,6*f1]);
f2=1;
ec'
[-6*f2,6*f2]);
%Parameterec
2,'
[-6*f2,-6*f2,-4*f2]);
[-6*f2,-4*f2,-2*f2]);
[-4*f2,-2*f2,0]);
[-2*f2,0,2*f2]);
[0,2*f2,4*f2]);
[2*f2,4*f2,6*f2]);
[4*f2,6*f2,6*f2]);
output'
u'
[-7,7]);
%Parameteru
[-7,-7,-4.5]);
[-7,-4.5,-2.5]);
[-4.5,-2.5,0]);
[-2.5,0,2.5]);
[0,2.5,4.5]);
[2.5,4.5,7]);
[4.5,7,7]);
rulelist=[11511;
%Editrulebase
12511;
13511;
14511;
15611;
16711;
17711;
21311;
22511;
23511;
24511;
25611;
26611;
27711;
31211;
32311;
33411;
34411;
35511;
36611;
37611;
41111;
42211;
43311;
44411;
45511;
46611;
47611;
51111;
52211;
53311;
54411;
55411;
56511;
57611;
61111;
62111;
63211;
64311;
65311;
66511;
67511;
71111;
72111;
73211;
74311;
75311;
76311;
77511];
a=addrule(a,rulelist);
%showrule(a)%Showfuzzyrulebase
a1=setfis(a,'
DefuzzMethod'
mom'
%Defuzzy
writefis(a1,'
%savetofuzzyfile"
fuzz.fis"
whichcanbe
%simulatedwithfuzzytool
a2=readfis('
disp('
-------------------------------------------------------'
fuzzycontrollertable:
e=[-3,+3],ec=[-3,+3]'
Ulist=zeros(7,7);
fori=1:
7
forj=1:
e(i)=-4+i;
ec(j)=-4+j;
Ulist(i,j)=evalfis([e(i),ec(j)],a2);
end
end
Ulist=ceil(Ulist)
figure
(1);
plotfis(a2);
figure
(2);
plotmf(a,'
1);
figure(3);
2);
figure(4);
2、模糊PID控制器
(1)模糊系统设计程序
%FuzzyTunningPIControl
fuzzpid'
[-1,1]);
N'
zmf'
[-1,-1/3
]);
[-2/3,0,2/3]);
P'
smf'
[1/3,1]);
[-1,-1/3]);
kp'
1/3*[-10,10]);
%Parameterkp
1/3*[-10,-3]);
1/3*[-5,0,5]);
1/3*[3,10]);
ki'
1/30*[-3,3]);
%Parameterki
1/30*[-3,-1]);
1/30*[-2,0,2]);
1/30*[1,3]);
rulelist=[111211;
121211;
131211;
211311;
223311;
233311;
313211;
323211;
333211];
a=setfis(a,'
centroid'
writefis(a,'
a=readfis('
figure(5);
plotfis(a);
fuzzyfuzzpid;
showrule(a)
ruleviewfuzzpid;
(2)模糊控制程序:
%FuzzyPIControl
warningoff;
%Loadfuzzpid.fis
ts=0.5;
sys=tf(1,[10,1],'
inputdelay'
0.5);
dsys=c2d(sys,ts,'
z'
[num,den]=tfdata(dsys,'
v'
u_1=0;
u_2=0;
y_1=0;
y_2=0;
e_1=0;
ec_1=0;
ei=0;
kp0=0;
ki0=0;
fork=1:
1:
1000
time(k)=k*ts;
r(k)=1;
%UsingfuzzyinferencetotunningPI
k_pid=evalfis([e_1,ec_1],a);
kp(k)=kp0+k_pid
(1);
ki(k)=ki0+k_pid
(2);
u(k)=kp(k)*e_1+ki(k)*ei;
y(k)=-den
(2)*y_1+num
(2)*u_1;
e(k)=r(k)-y(k);
%%%%%%%%%%%%%%Returnofparameters%%%%%%%%%%%%%%%
u_2=u_1;
u_1=u(k);
y_2=y_1;
y_1=y(k);
ei=ei+e(k)*ts;
%CalculatingI
ec(k)=e(k)-e_1;
e_1=e(k);
ec_1=ec(k);
plot(time,r,'
r'
time,y,'
b:
'
linewidth'
xlabel('
time(s)'
ylabel('
r,y'
legend('
Idealposition'
Practicalposition'
subplot(211);
plot(time,kp,'
subplot(212);
plot(time,ki,'
plot(time,u,'
Controlinput'
BP网络实验
1、掌握Matlab神经网络工具箱的应用;
2、了解基本BP算法;
3、认识多层前馈神经网络的函数逼近能力;
4、了解BP网络在PID参数整定中的作用。
1、参考教材程序chap7_1,完成教材p.142之7-2之利用BP网络来进行非线性逼近:
y(k)=(u(k-1)-0.9y(k-1))/(1+y(k-1)2)。
设计Matlab程序,给出基于BP网络函数逼近的实验结果。
2、参考教材程序chap7_2,完成教材p.141之7-1之利用BP网络来进行模式识别。
运行Matlab,分别编写利用BP网络来进行非线性逼近和利用用BP网络来进行模式识别的程序,然后运行观察实验结果。
1、BP网络逼近
(1)BP网络逼近效果
(2)BP网络逼近误差
(3)Jacobian信息的辨识
2、BP网络识别
(1)样本训练的收敛过程
(2)测试样本及结果
样本为:
[1,0.1;
0.5,0.5;
0.1,1]
输出为:
[0.92870.0094-0.9263]
%BPidentification
xite=0.50;
alfa=0.05;
w2=rands(6,1);
w2_1=w2;
w2_2=w2_1;
w1=rands(2,6);
w1_1=w1;
w1_2=w1;
dw1=0*w1;
x=[0,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;
u(k)=0.50*sin(3*2*pi*k*ts);
y(k)=(u_1-0.9*y_1)/(1+y_1^2);
forj=1:
6
I(j)=x'
*w1(:
j);
Iout(j)=1/(1+exp(-I(j)));
end
yn(k)=w2'
*Iout;
%OutputofNNInetworks
e(k)=y(k)-yn(k);
%Errorcalculation
w2=w2_1+(xite*e(k))*Iout+alfa*(w2_1-w2_2);
6
FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;
2
dw1(i,j)=e(k)*xite*FI(j)*w2(j)*x(i);
w1=w1_1+dw1+alfa*(w1_1-w1_2);
%%%%%%%%%%%%%%Jacobian%%%%%%%%%%%%%%%%
yu=0;
yu=yu+w2(j)*w1(1,j)*FI(j);
dyu(k)=yu;
x
(1)=u(k);
x
(2)=y(k);
w1_2=w1_1;
plot(time,y,'
time,yn,'
b'
times'
yandyn'
plot(time,y-yn,'
error'
plot(time,dyu);
dyu'
)
(1)网络训练程序
%BPTrainingforMIMOandMulti-samples
w2=rands(2,1);
w1=rands(2,2);
I=[0,0]'
Iout=[0,0]'
FI=[0,0]'
OUT=1;
k=0;
E=1.0;
NS=3;
whileE>
=1e-020
k=k+1;
times(k)=k;
fors=1:
NS%MIMOSamples
xs=[1,0;
0,0;
0,1];
%IdealInput
ys=[1;
0;
-1];
%IdealOutput
x=xs(s,:
2
I(j)=x*w1(:
yl=w2'
yl=yl'
el=0;
y=ys(s,:
forl=1:
OUT
el=el+0.5*(y(l)-yl(l))^2;
%Outputerror
es(s)=el;
E=0;
ifs==NS
fors=1:
E=E+es(s);
ey=y-yl;
w2=w2_1+xite*Iout*ey+alfa*(w2_1-w2_2);
S=1/(1+exp(-I(j)));
FI(j)=S*(1-S);
dw1(i,j)=xite*FI(j)*x(i)*(ey
(1)*w2(j,1));
end%Endoffor
Ek(k)=E;
end%Endofwhile
plot(times,Ek,'
k'
E'
savewfilew1w2;
(2)网络测试程序
%TestBP
loadwfilew1w2;
%NSamples
x=[1,0.1;
0.5,0.5;
0.1,1
];
3
2
I(i,j)=x(i,:
)*w1(:
Iout(i,j)=1/(1+exp(-I(i,j)));
y=w2'
*Iout'
y=y'
基于遗传算法的函数优化实验
1、掌握Matlab遗传算法工具箱的应用;
2、了解基本遗传算法;
3、了解遗传算法在函数优化中的应用。
二、实验设备
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西华 大学 智能 控制 实验 报告