Báo Cáo Thí Nghiệm
Điều khiển thông minh
BÁO CÁO THÍ NGHIỆM
ĐIỀU KHIỂN THÔNG MINH
*
*
*
PHẦN 1: HỆ THỐNG SUY LUẬN MỜ FIS
I. BÀI 1: TÌM HIỂU HỆ FIS.
1. Mục đích thí nghiệm
Xác định đặc tính của hệ thống suy luận mờ.
2. Nội dung thí nghiệm:
i. Vẽ sơ đồ của hệ thống FIS 1 vào 1 ra
ii. Vẽ các hàm lien thuộc mf của đầu vào và đầu ra
iii. Viết các ma trận hợp thành
iv. Vẽ đặc tính vào ra của hệ thống
code:
echo
a=newfis('myfis1','sugeno');
a=addvar(a,'input','VAO1',[-200 250]);
a=addvar(a,'output','RA1',[-50 50]);
a=addmf(a,'input',1,'A1','trimf',[-201 -200 -100]);
a=addmf(a,'input',1,'A2','trapmf',[-200 -100 0 50]);
a=addmf(a,'input',1,'A3','trapmf',[0 50 150 250]);
a=addmf(a,'input',1,'A4','trimf',[150 250 251]);
a=addmf(a,'output',1,'B1','constant',[0]);
a=addmf(a,'output',1,'B2','constant',[-50]);
a=addmf(a,'output',1,'B3','constant',[50]);
-1-
Báo Cáo Thí Nghiệm
Điều khiển thông minh
a=addmf(a,'output',1,'B4','constant',[20]);
rule=[1,1,1,1;2,2,1,1;3 3 1 1; 4 4 1 1];
a=addrule(a,rule);
showfis(a)
pause
showrule(a)
pause
gensurf(a)
pause
plotmf(a,'input',1)
pause
%plotmf(a,'output',1)
pause
plotfis(a)
Sơ đồ của hệ thống:
-2-
Báo Cáo Thí Nghiệm
Điều khiển thông minh
Hàm liên thuộc:
A1
A2
A3
A4
1
Degree of membership
0.8
0.6
0.4
0.2
0
-200
-150
-100
-50
0
50
100
VAO1
Luật hợp thành:
1. If (VAO1 is A1) then (RA1 is B1) (1)
2. If (VAO1 is A2) then (RA1 is B2) (1)
3. If (VAO1 is A3) then (RA1 is B3) (1)
4. If (VAO1 is A4) then (RA1 is B4) (1)
Đặc tính vào ra:
-3-
150
200
250
Báo Cáo Thí Nghiệm
Điều khiển thông minh
50
40
30
20
RA1
10
0
-10
-20
-30
-40
-50
-200
-150
-100
-50
0
50
VAO1
-4-
100
150
200
250
Báo Cáo Thí Nghiệm
Điều khiển thông minh
II. BÀI 2: XÂY DỰNG CÁC ĐẶC TÍNH TĨNH
Dùng toolbox fuzzy
Hình 2:
Phạm vi đầu vào: [-200 250]
Phạm vi đầu ra : [-50 50]
Tập mờ đầu vào:
-5-
Báo Cáo Thí Nghiệm
Điều khiển thông minh
Tập mờ đầu ra : [0 -50 50 20]
Luật hợp thành:
-6-
Báo Cáo Thí Nghiệm
Điều khiển thông minh
Đặc tính vào ra:
III. BÀI 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN MỜ.
1. Bộ điều khiển PI mờ và PD mờ
-7-
Báo Cáo Thí Nghiệm
Điều khiển thông minh
i. Sơ đồ bộ PD mờ:
Mô phỏng:
Nhận xét: hệ tuy ổn định nhưng vẫn tồn tại sai lệch tĩnh
-8-
Báo Cáo Thí Nghiệm
Điều khiển thông minh
ii. Sơ đồ bộ PI mờ:
Mô phỏng:
-9-
Báo Cáo Thí Nghiệm
Điều khiển thông minh
Nhận xét: bộ PI mờ có khâu tích phân 1/s nên có tác dụng triệt tiêu sai lệch
tĩnh
2. Bộ điều khiển mờ tĩnh.
Đường đặc tính
Sơ đồ cấu trúc:
Kết quả:
- 10 -
Báo Cáo Thí Nghiệm
Điều khiển thông minh
Nếu tăng hệ
số khuêch
đại:
Hệ số khếch đại càng lớn thì sai lệch tĩnh càng được
giảm.
PHẦN 2: NEURAL NETWORK
I. THÍ NGHIỆM NEURAL NETWORK
1. mạng Perceptron
điểm 1:
(-1 ,5), (-3 ,2), (0,6), (3, 3), (-1 ,3)
Điểm 0:
(-5,-3),(-2 ,-1),(-1 ,-2),(2,-1),(6,-2)
- 11 -
Báo Cáo Thí Nghiệm
Điều khiển thông minh
P={[-1;5] [-3;2] [0;6] [3;3] [-1;3] [-5;-3] [-2;-1] [-1;-2] [2;-1] [6;2]}
T={1 1 1 1 1 0 0 0 0 0};
net=newp([-9 9; -9 9],1);
while(sse(e))
[net,a,e]=adapt(net,P,T);
h=plotpc(net.iw{1,1},net.b{1});
drawnow;
pause;
end
pause
net.b
net.IW{1,1}
pause
p=cell2mat(P)
t=cell2mat(T)
plotpv(p,t)
pause
h=plotpc(net.IW{1,1},net.b{1})
Vectors to be Classified
8
6
P(2)
4
2
0
-2
-4
-6
-8
-6
-4
-2
net.b
ans =
[-3]
net.IW{1,1}
ans =
-3
6
- 12 -
0
P(1)
2
4
6
8
10
Báo Cáo Thí Nghiệm
Điều khiển thông minh
h=plotpc(net.IW{1,1},net.b{1})
h=
172.0054
2. Mạng Adaline
T=sin(5*pi*t)
t=0:0.02:0.8;
P=sin(5*3.14*(t-0.02));%tre so voi T 1 chu ky
T=sin(5*3.14*t);
P=con2seq(P);
T=con2seq(T);
net=newlin([0 10],1,[0:40],0.005);
%net.trainParam.epochs=25;
Pi=zeros(1,40);
Pi=con2seq(Pi);
net=train(net,P,T,Pi);
a=sim(net,P);
plot(t,[cat(2,T{:});cat(2,a{:})]);
- 13 -
Báo Cáo Thí Nghiệm
Điều khiển thông minh
3. mạng Backpropagation
p=[0:9]
t=[0 1 -2 -3 4 2 7 1 -8 6]
P=0:9;
T=[0 1 -2 -3 4 2 7 1 -8 6];
net=newff([0 10],[10 1],{'tansig','purelin'});
net=train(net,P,T);
y=sim(net,P)
y=
Columns 1 through 5
-0.0000
1.0000 -2.0000 -3.0000
4.0000
Columns 6 through 10
2.0000
7.0000
1.0000 -8.0000
- 14 -
6.0000
Báo Cáo Thí Nghiệm
Điều khiển thông minh
4. Mạng Hopfield
Mẫu:
Nhiễu cần nhận dạng:
T=[-1 -1 1 1
-1 -1
-1 -1 -1 -1
-1 -1
1 1 1 1
-1 -1
1 -1 -1 -1
1 -1
-1 -1 -1 -1
-1 -1
ai=[1 -1 -1 -1
-1 -1
ai=con2seq(ai);
net=newhop(T);
y=sim(net,{1,15},{},ai);
cell2mat(y)
1
-1
-1
-1
-1
1
1
-1
1
-1
-1
-1
1 1 -1 -1
1 1 1 1
-1 -1 -1 1
1 -1 -1 -1
1 1 1 1
1 -1 1 1
1 1 -1 -1; ...
1 1 1 1; ...
1 1 1 1; ...
1 1 1 1; ...
1 1 1 1]';
1 -1 -1 -1]';
kết quả:
ans =
Columns 1 through 5
-0.2018
-1.0000
-0.6135
-0.6135
-0.5837
-1.0000
-0.1029
-0.6135
1.0000
-0.5037
-1.0000
-0.5795
-0.5795
-0.4942
-1.0000
-0.3709
-0.5795
1.0000
-0.6041
-1.0000
-0.6260
-0.6260
-0.4831
-1.0000
-0.4605
-0.6260
1.0000
- 15 -
-0.6599
-1.0000
-0.6936
-0.6936
-0.4949
-1.0000
-0.5186
-0.6936
1.0000
-0.7073
-1.0000
-0.7710
-0.7710
-0.5172
-1.0000
-0.5786
-0.7710
1.0000
Báo Cáo Thí Nghiệm
Điều khiển thông minh
0.2018 0.5037 0.6041 0.6599
0.1195 -0.0213 0.0102 0.0887
0.0552 -0.1304 -0.1331 -0.0813
1.0000 1.0000 1.0000 1.0000
0.6314 0.9954 1.0000 1.0000
0.1029 0.3709 0.4605 0.5186
0.1029 0.3709 0.4605 0.5186
0.7073
0.1882
-0.0030
1.0000
1.0000
0.5786
0.5786
Columns 6 through 10
-0.7554
-1.0000
-0.8572
-0.8572
-0.5475
-1.0000
-0.6488
-0.8572
1.0000
0.7554
0.3047
0.0966
1.0000
1.0000
0.6488
0.6488
-0.8072
-1.0000
-0.9537
-0.9537
-0.5858
-1.0000
-0.7322
-0.9537
1.0000
0.8072
0.4395
0.2180
1.0000
1.0000
0.7322
0.7322
-0.8645
-1.0000
-1.0000
-1.0000
-0.6324
-1.0000
-0.8309
-1.0000
1.0000
0.8645
0.5954
0.3633
1.0000
1.0000
0.8309
0.8309
-0.9270
-1.0000
-1.0000
-1.0000
-0.7076
-1.0000
-0.9306
-1.0000
1.0000
0.9270
0.7576
0.5382
1.0000
1.0000
0.9306
0.9306
-0.9995
-1.0000
-1.0000
-1.0000
-0.8196
-1.0000
-1.0000
-1.0000
1.0000
0.9995
0.9215
0.7416
1.0000
1.0000
1.0000
1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
1.0000
1.0000
1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
1.0000
1.0000
1.0000
Columns 11 through 15
-1.0000
-1.0000
-1.0000
-1.0000
-0.9605
-1.0000
-1.0000
-1.0000
1.0000
1.0000
1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
1.0000
1.0000
1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
-1.0000
1.0000
1.0000
1.0000
- 16 -
Báo Cáo Thí Nghiệm
0.9591
1.0000
1.0000
1.0000
1.0000
Điều khiển thông minh
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
1.0000
Số lần học là 12
Mẫu cần nhận dạng
kq nhận dạng
- 17 -
Báo Cáo Thí Nghiệm
Điều khiển thông minh
- 18 -