Professional Documents
Culture Documents
KHOA ĐIỆN
ĐỀ SỐ 3
MỤC LỤC
1
Contents
Câu 01 (2,0 điểm):...............................................................................................................3
1.1.Cấu trúc Bộ điều khiển mờ......................................................................................3
1.2.Để tổng hợp được các bộ Điều khiển mờ và cho nó hoạt động một cách hoàn
thiện ta cần thực hiện qua các bước sau:....................................................................4
1.3.Phân tích suy luận mờ và luật hợp thành.............................................................5
Câu 02 (3,0 điểm):...............................................................................................................6
2.1.Phân tích các bước huấn luyện mạng nơron perceptron.....................................6
2.2.Lập trình huấn luyện bằng phần mềm Matlab....................................................7
2.3. Sử dụng giao diện đồ họa ( Graphical User Interface – GUI ) để khảo sát và
phân tích.......................................................................................................................10
Câu 03 (5,0 điểm):.............................................................................................................13
3.1. Xây dựng mạng nơ ron...............................................................................................13
3.1.1. Thực hiện lập trình trên phần mềm Matlab...................................................13
3.2. Thiết kế bộ điều khiển mờ điều khiển nhiệt độ phòng...............................................20
3.2.1.Giới thiệu tổng quan về matlab-công cụ để thiết kế bộ điều khiển mờ.........20
3.2.2. Các bước thiết kế bộ điều khiển mờ trên Simulink:......................................21
3.2.3. Mô phỏng bộ điều khiển mờ.............................................................................24
2
Câu 01 (2,0 điểm):
Trình bày các thành phần cơ bản của bộ điều khiển mờ? Phân tích suy luận mờ và luật
hợp thành?
Yêu cầu đạt được:
- Trình bày được các thành phần trong bộ điều khiển mờ?
- Phân tích suy luận mờ và luật hợp thành?
Bài làm
1.1.Cấu trúc Bộ điều khiển mờ
Hoạt động của một bộ điều khiển mờ phụ thuộc vào kinh nghiệm và
phương pháp rút ra kết luận theo tư duy của con người sau đó được cài đặt vào
máy tính trên cơ sở logic mờ.
Một bộ điều khiển mờ bao gồm 3 khối cơ bản: Khối mờ hoá, thiết bị hợp
thành và khối giải mờ. Ngoài ra còn có khối giao diện vào và giao diện ra
4
- Cụ thể ta sẽ làm theo 6 bước sau:
B1. Xác định giá trị vào ra
B2. Mờ hóa
B3. Luật điều khiển
B4. Simulink: mô phỏng
B5. Fuzzy: Thiết kế bộ điều khiển mờ
B6. Đánh giá
1.3.Phân tích suy luận mờ và luật hợp thành
Suy luận mờ cũng thường được gọi là suy luận xấp xỉ ( Fuzzy reasoning or
approximate reasoning ) là thủ tục suy luận để suy diễn ra kết quả từ các tập
các quy tắc nếu…thì.. theo một hay nhiều điều kiện. Trước tiên ta giới thiệu
về luật hợp thành để mô tả sự hợp lý thực chất của suy luận mờ.
Luật hợp thành là sự khái quát hóa các khái niệm tương tự sau đây: Giả thiết
ta có đường cong y=(fx), đó là quan hệ điều kiện giữa x và y. Khi cho x = a
thì suy ra y = b (a). Tổng quát nếu bây giờ ta cho a một khoảng và f(x) là
hàm của khoảng giá trị. Để tìm khoảng kết quả y=b tương tự với khoảng
x=a, trước tiên ta mở rộng vùng a theo kiểu hình trụ từ X sang vùng X*Y và
tìm vùng l là giao của khoảng giá trị a và hàm của khoảng giá trị f(x), sau đó
lấy hình chiếu của l lên trục Y ta tìm được y = b
Trong bộ điều khiển mờ luật điều khiển mờ là bộ não của nó, người thiết kế
phải dựa vào kinh nghiệm của mình mà phát biểu xây dựng cho được tập mờ
dạng này làm cơ sở cho việc chiển khai thiết kế tiếp theo.
5
Yêu cầu đạt được:
a. Phân tích các bước huấn luyện mạng nơ ron perceptron.
b. Lập trình huấn luyện bằng phần mềm Matlab.
c. Sử dụng giao diện đồ họa (Graphical User Interface - GUI) để khảo sát và phân tích.
2.1.Phân tích các bước huấn luyện mạng nơron perceptron
B1. Xác định, phân tích đầu vào ra với
P: là đầu vào; t là mục tiêu mong muốn
Ví dụ:
Biết:
p = [[2;2] [1;-2] [-2;2] [-1;1]]
Mục tiêu:
t = [0 1 0 1]
Phân tích
Mục tiêu:
Nếu x1=2, x2 = 2 thì y=0
Nếu x1=1, x2 = -2 thì y=1
Nếu x1=-2, x2 = 2 thì y=0
Nếu x1=-1, x2 = 1 thì y=1
>>>%Code
p = [[2;2] [1;-2] [-2;2] [-1;1]] % Nhập bộ dữ liệu đầu vào
t = [0 1 0 1] % Nhập mục tiêu (mong muốn)
B2. Tạo một Perceptron:
1. Tạo một mạng Perceptron bằng lệnh newp.
MÃ:
net = newp(PR,S);
Trong đó:
PR là một ma trận với 2 phần tử mỗi hàng là giá trị min và max của 1 đầu
vào trong R đầu vào.
S là số nơ-ron có trong mạng.
6
Thông thường hàm truyền hardlim được sử dụng cho Perceptron, nên nó là mặc
định khi tạo.
Ví dụ trên sẽ có kết quả
net = newp([-2 2;-2 2],1);
B3. Nhập lệnh cho mạng học theo 30 chu kỳ:
Với ví dụ trên câu lệnh:
net.trainParam.epochs = 30;
p=
7
0 0 1 1
0 1 0 1
t=
0 0 0 1
p=
0 0 1 1
0 1 0 1
1 1 1 0
Kết quả
2.3. Sử dụng giao diện đồ họa ( Graphical User Interface – GUI ) để khảo sát
và phân tích.
Bước 1 : gõ nntool để hiện ra giao diện thiết lập đầu vào ra -> Chọn
New create
9
Phần network chọn tên và type là perceptron
Nhập số liệu đầu vào và mục tiêu ở phần Inputs và Tagers và ấn Create ở phần data
10
Chọn sang phần Train -> Train Network để chạy hệ thống mạng
11
- Biểu diễn trên đồ thị Performance:
12
Câu 03 (5,0 điểm):
a. Cho bộ tín hiệu vào ra P, T
[ 0 1 2 3 4 5 4 3 2 1 1]
P= 0 1 2 3 4 5 4 3 2 1 1
T= [ 4 3 2 1 0 1 2 3 4 3 2 ]
0 1 23 4 3 2 1 2 3 2
14
>> %Tao ma tran P T
P1 = [0 1 2 3 4 5 4 3 2 1 1];
P2 = [0 1 2 3 4 5 4 3 2 1 1];
P = [P1;P2];
T1 = [0 1 2 3 4 3 2 1 2 3 2];
T2 = [4 3 2 1 0 1 2 3 4 3 2];
T= [T1; T2];
a1 = min(P(1,:)), a2 = max(P(1,:)),
a3 = min(P(2,:)), a4 = max(P(2,:)),
% Ham newff tao mang truyen thang 3 lop, ham chuyen doi là tansig
net = newff([a1 a2; a3 a4], [2 10 2], {'tansig' 'tansig' 'purelin'});
%tao mo hinh simulink cho mang noron
gensim(net);
net.trainParam.epochs = 1500;
% Thuc hien hoc theo luat lan truyen nguoc voi ham train
net = train(net,P,T);
%go bat ky phim nao de dung phim
pause;
% Kiem tra ham sim
Y=sim(net,P);
Y1=Y(1,:);
Y2=Y(2,:);
%subplot và plot ve do thi vào ra
subplot(2,1,1); plot(P1,T1,'-',P1,Y1,'o'),
subplot(2,1,2); plot(P2,T2,'-',P2,Y2,'o'),
%Tim bo ma tran trong so và bias
w11=net.IW{1,1}, % tìm ma tran w1
15
w21=net.IW{2,1}, % tìm ma tran tu lop vao den lop an w21
w31=net.IW{3,1}, % tìm ma tran tu lop anden lop ra w31
b1=net.b{1}
b2=net.b{2}
b3=net.b{3}
Kết quả thu được
a1 =
0
a2 =
5
a3 =
0
a4 =
5
w11 =
-0.8610 0.2590
-0.3145 -0.4521
w21 =
[]
w31 =
[]
b1 =
2.2446
0.9262
b2 =
-4.4508
-3.4630
16
-2.2255
1.3487
0.5590
-0.2785
1.7959
-2.3648
3.4440
4.4272
b3 =
0.4054
0.4008
b) Simulink
17
d) Biểu diễn đồ thị Perfomance.
19
3.2. Thiết kế bộ điều khiển mờ điều khiển nhiệt độ phòng.
3.2.1.Giới thiệu tổng quan về matlab-công cụ để thiết kế bộ điều khiển mờ.
a) Ngôn ngữ Matlab.
Là một ngôn ngữ lập trình bậc cao (Scritp) với các lệnh điều khiển, chức năng, cấu
chúc dữ liệu, đầu vào/ đầu ra và khả năng lập trinh hướng đối tượng. Cho phép bạn nhanh
chóng tạo và phá hủy phần mềm trong “ lập trinh quy mô nhỏ ” hoặc tạo các chương trinh
lớn và phức tạp trong “lập trình quy mô lớn”
b) Tính năng Matlab.
- Matlab là một ngôn ngữ lập trinh cao cấp để tinh toan số và phát triển ứng dụng.
- Cung cấp một môi trường tương tác để điều tra, thiết kế và gaiir quyết các vấn
đề.
- Nó cung cấp môi trường thư viện lớn các hàm toan học để gaiir các hàm số tuyến
tính, thống kê, phân tích Fourier, lọc, tối ưu hóa, tích phân và phương trinh vi phân bình
thường.
- Matlab cung cấp các biểu đồ tích hợp để trực quan hóa dữ liệu và các công cụ để
tạo biểu đồ tùy chỉnh.
- Cung cấp các công cụ phát triển để tăng khả năng bảo trì chất lượng mã và tối đa
hóa hiệu suất.
20
- Cung cấp các công cụ để xây dựng ứng dụng bằng giao diện đồ họa tùy chỉnh.
- Các chức năng để tích hợp các thuật toan dựa trên Matlab với các ứng dụng bên
ngoai và các ngôn ngữ C, Java, NET và Microsoft Excel.
*Các ứng dụng của Matlab gồm :
- Toán học và tính toán
- Phát triển các thuật toán
- Thu thập dữ liệu
- Mô hình hóa, mô phỏng
- Phân tích dữ liệu, thăm dò và trực quan hóa
- Đồ họa khoa học và kỹ thuật
- Phát triển các ứng dụng, xây dựng các giao diện người dùng
*Đặc trưng của Matlab:
Nét đặc trưng của MatLab là nó cung cấp một họ các Toolboxes , cho phép người
dùng có thể học và áp dụng trong các kỹ thuật chuyên ngành. Toolboxes là tập hợp của
các hàm (”M-files") cho phép mở rộng môi trường MatLab để giải một lớp các bài toán
như trong : Xử lý tín hiệu (signal processing) ,Các hệ điều khiển (control systems) ,Mạng
nơ-ron (neural networks) ,Logic mờ (fuzzy logic) ,Sóng nhỏ (wavelets), Mô phỏng
(simulation).
3.2.2. Các bước thiết kế bộ điều khiển mờ trên Simulink:
Bước 1: Khởi động chương trình:
21
Bước 2: Trên cửa sổ lệnh: nhập lệnh Fuzzy, xuất hiện hộp thoại:
22
Bước 4: Giải mờ ngõ ra.
23
Chọn luật hợp thành “if” ở input… “then” ở output theo bài toán. Chọn Add rule để chon
luật hợp thành.
Tiếp tục chọn luật tiếp theo và chọn addrule cho đến hết.
Sau khi xây dựng xong lưu bộ điều khiển:
Từ menu File: Export/to file… và chọn thư mục cần lưu.
24
180C: lạnh
320C: mát
450C: nóng
trời:
160C: lạnh
240C: mát
310C: nóng
Output:
điện áp:
0 V: chậm
12V: vừa
24V: nhanh
- Khai báo đầu vào nhiệt độ phòng:
25
- Khai báo đầu vào nhiệt độ ngoài trời:
26
Bước 3: Xây dựng luật điều khiển:
- Simulink:
- Đồ thị scope:
27
28