Xác định kiểu và tham số của các hàm MF đầu vào Vào cửa sổ lệnh Matlab gõ lệnh: >>fuzzy Kiểu của hàm Membership Function đầu vào là kiểu trimf.. Xác định kiểu và tham số của các hàm MF đ
Trang 1
BÀI TẬP THỰC HÀNH MÔN ĐIỀU KHIỂN MỜ-NƠRON
PHẦN FUZZY BÀI 1
HỆ THỐNG SUY LUẬN MỜ (FIS)
Trang 2
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Trang 3sigmf, P=[2 4]
Trang 5
2 Trình bày chi tiết các bước thực hiện bài toán 2 trên Matlab
a Xác định kiểu và tham số của các hàm MF đầu vào
Vào cửa sổ lệnh Matlab gõ lệnh: >>fuzzy
Kiểu của hàm Membership Function đầu vào là kiểu trimf
Cụ thể giá trị như sau:
mf1: [-0.25 0 0.25] mf2: [0 0.25 0.5];
mf3: [0.25 0.5 0.75]; mf4: [0.5 0.75 1];
mf5: [0.75 1 1.25];
b Xác định kiểu và tham số của các hàm MF đầu ra
Kiểu của hàm Membership Function đầu ra là kiểu trimf Cụ thể giá trị như sau:
mf1:[-0.25 0 0.25]; mf2: [0 0.25 0.5]; mf3: [0.25 0.5 0.75];
mf4:[0.5 0.75 1]; mf5: [0.75 1 1.25];
Trang 6
c Xác định luật IF-THEN
Vào Edit Rules (Ctrl +3)
Trang 7
Luật IF-THEN có dạng như sau:
IF Input THEN Output
Tại cửa sổ chính của fuzzy:
Phép tính giải mờ là: Centroid (Lấy trọng tâm)
f Vẽ đặc tính vào-ra
Chọn ViewSurface (Ctrl +6)
Đặc tính vào ra của hệ mở
Trang 8
3 Trình bày chi tiết các bước thực hiện bài toán 3 trên Matlab
a Xác định kiểu và tham số của các hàm MF đầu vào
Kiểu của hàm Membership Function của 2 đầu vào là kiểu trimf
Cụ thể giá trị như sau:
mf1: [-0.25 0 0.25] mf2: [0 0.25 0.5];
mf3: [0.25 0.5 0.75]; mf4: [0.5 0.75 1];
mf5: [0.75 1 1.25];
Trang 9
b Xác định kiểu và tham số của các hàm MF đầu ra
Kiểu của hàm Membership Function đầu ra là kiểu gaussmf
Cụ thể giá trị như sau:
mf1:[-0.25 0 0.25]; mf2: [0 0.25 0.5]; mf3: [0.25 0.5 0.75];
mf4:[0.5 0.75 1]; mf5: [0.75 1 1.25];
c Xác định các phép tính logic mờ AND, OR, NOT
Tại cửa sổ chính fuzzy: And method chọn Min
d Xác định luật IF – THEN
Vào Edit Rules (Ctrl +3)
Chọn lần lượt từng cặp IF-THEN ờ đầu vào và đầu ra tương ứng, sau đó nhân Add Rule Muốn xóa thì nhấn Delete Rule hoặc thay đổi luật thì dùng Change Rule
Luật IF-THEN có dạng như sau:
Tại cửa sổ chính của fuzzy:
Phép tính giải mờ là: Centroid (Lấy trọng tâm)
Trang 10
g Vẽ đặc tính vào – ra
Chọn ViewSurface (Ctrl +6)
Trang 11
BÀI 2
BỘ ĐIỀU KHIỂN MỜ (FUZZY CONTROL)
1 Mô hình lò nhiệt là khâu quán tính bậc 2
a) Mô hình đối tượng:
Do lò nhiệt có đầu ra là nhiệt độ so với đáp ứng đầu vào (ví dụ như: tín hiệu cho không khívào; thêm nhiên liệu; …) là chậm, tức lò nhiệt có quán tính cao; nên có thể xem mô hình lònhiệt như khâu quán tính bậc 2 với K 0.01;T120;T2 80 thì:
0.01( )
Đáp ứng step (10) của mô hình đối tượng:
Nhận xét: Đáp ứng bước nhảy của lò nhiệt xác lập trong 300s và chưa đạt giá trị đặt
Trang 12
b) Xác định bộ điều khiển mờ với quan hệ vào ra thể hiện thông qua mô tả (hình 2) và bảng ma trận luật (hình 3)
Thực hiện xây dựng bộ điều khiển mờ theo các bước sau:
Bước 1: Mờ hóa đầu vào:
INPUT 1 (e) INPUT 2 (e)
1 Trimf [-40 40 0] 1 Trimf [-1.2-1.2 0]
2 Trimf [40 0 40] 2 Trimf [-1.2 0 1.2]
3 Trimf [0 40 40] 3 Trimf [0 1.2 1.2]Bước 2: Mờ hóa đầu ra
Bước 3: Xác định các phép toán logic
- Phép AND: PROD (Sử dụng hàm PROD vì ta muốn kết hợp thông tin của cả 2 đầu vào
để xử lý Điều này khác với phép toán MIN chỉ mang thông tin của 1 tín hiệu vào làmđặc trưng cho cả 2, do đó, phép toán MIN chỉ dùng chủ yếu khi 2 tín hiệu vào cùngloại)
Vì hàm MF đầu ra có dạng xung (không overlap) nên việc chọn phép Implication vàAggregation ở đây như thế nào thì cũng đều cho kết quả như nhau Theo mặc định
trong FIS GUI thì chọn Implication là MIN, Aggregation là MAX
Phép toán giải mờ (Defuzzy): wtaver
Trang 13
Bước 4: Xác định luật điều khiển
Đường đặc tính vào – ra:
Trang 14
Kết quả mô phỏng:
Trang 15Bộ điều khiển mờ phía trên với 2 đầu vào và 1 đầu ra đều phải có các hàm MF tương ứng:
Đạo hàm sai lệch e : Do đối tượng là lò nhiệt, có quán tính cao và động học chậm, tức
là nhiệt độ đầu ra thay đổi chậm so với đầu vào, nên e cũng thay đổi chậm tương ứng
Sai lệch e: Việc lựa chọn dải giá trị cho e quyết định đến chất lượng điều khiển Nếu
cho dải e lớn, thời gian đáp ứng sẽ cao mặc dù độ quá điều chỉnh có thể giảm và có thể
không có dao động Nếu cho dải e nhỏ, thời gian đáp ứng giảm nhưng độ quá điều
chỉnh sẽ cao, thời gian xác lập cũng tăng theo, đồng thời mất nhiều năng lượng hơn chotín hiệu điều khiển
Tín hiệu điều khiển u : Nhận thấy, khi giá trị u lớn hơn so với cùng sai lệch e, thì bộ
điều khiển sẽ cho đáp ứng hệ thống dao động nhiều hơn; tương ứng thời gian xác lậptăng lên
Trang 16
Ta phải căn cứ vào cả hai yếu tố e và e´ tại một thời điểm để đưa ra quyết định điềukhiển chính xác Do đó, quyết định điều khiển này nhất thiết phải tạo ra từ đóng gópcủa cả hai thành phần đầu vào ,vì vậy phép AND ở đây là hoàn toàn hợp lý, và phépAND ở đây chỉ có thể dùng PROD mà không thể dùng MIN
Lúc này ta phải điều khiển để y giảm Vì lò nhiệt ở đây là khâu quán tính nên muốn đầu
ra y giảm thì rõ ràng đầu vào u cũng phải giảm, tức là u<0´ Do đó u´= B1
Trang 174 Thay đổi tham số mô hình và chọn lại bộ điều khiển
Khi chọn K 0.01; 1 30; 2 30T T thì ta chọn giữ nguyên input 1 và output, chọn lại input 2
có ranger [-1.4 1.4] ta được đáp ứng:
Trang 18
PHẦN MẠNG NƠRON
BÀI 1 MẠNG PERCEPTRON
1.1 Viết chương trình tạo mạng và huấn luyện mạng
1 6 2
IW b
Trang 19
Sau khi chuyển điểm [7,13] thành [7,-13] thì không thể xác định được đường ranh giới
1.2 Giải thích kết quả thu được
Dữ kiện ban đầu
Kết quả huấn luyện
Trang 20
Net.iw{1,1}=[1 6] Net.b{1}=-2
Kết quả ban đầu
Trang 21
Ta thấy rằng kết quả huấn luyện không cho được khả năng phân loại các loại tín hiệutrên, tức là không tồn tại một đường thẳng Wp+b=0 để chia hai loại tín hiệu thành hainửa riêng biệt
Trang 22
BÀI 2 MẠNG LINEAR NETWORK
2.1 Viết chương trình thực hiện các nhiệm vụ yêu cầu
Trang 23
Hình 1: Đáp ứng xung của hàm truyền H(z).
Hình 2: Đáp ứng xung của mạng và so sánh với đáp ứng xung của hệ thống.
Tham số hàm:
Trang 25
BÀI 3 MẠNG FEEDFORWARDNET
3.1 Viết chương trình tạo mạng feedforwardnet, huấn luyện mạng và kiểm tra mạng:
legend({'Target','Output','Error'})
3.2 Trình bày kết quả đạt được và giải thích.
Dữ liệu huấn luyện:
Hình 3: Dữ liệu huấn luyện mạng.
Trang 26
Kết quả huấn luyện mạng:
Hình 4: Kết quả huấn luyện mạng.
Nhận xét: Mạng feedforward có thể xấp xỉ hóa tốt đặc tính phi tuyến trên với sai số rất nhỏ
0 Sử dụng mạng này ta có thể xấp xỉ các đặc tính bất kỳ, về bản chất thì lại xuất ra dưới dạng hàm tuyến tính hóa từng đoạn
Trang 27
BÀI 4 MẠNG TIMEDELAYNET
4.1 Viết chương trình tạo mạng timedelaynet, huấn luyện mạng, kiểm tra mạng.
%Day duong day tre len 1 nhip
%Xac dinh tin hieu duoc tien doan truoc 1 buoc
title('One-step-ahead Prediction');
legend({'Input','Output'});
4.2 Trình bày kết quả đạt được và giải thích.
Dữ liệu huấn luyện mạng:
Trang 28
Hình 5: Dữ liệu huấn luyện mạng.
Kết quả huấn luyện mạng (vẽ đáp ứng của mạng vơi đầu vào P):
Trang 29
Mạng ban đầu:
Mạng sau khi remodelay:
Kết quả dự báo trước 1 bước của mạng:
0 100 200 300 400 500 600 700 800 900 1000 -30
-20 -10 0 10 20
30
Input Output
Hình7: Kết quả dự báo trước của mạng NN.
Trang 30
28.2 28.4 28.6 28.8 29 29.2 29.4 29.6
Hình 8: Hình phóng to của đồ thị trên.
Nhận xét: Với sai số rất nhỏ (< 1e-3) thì mạng Timedelaynet có thể dự báo chính xác trước 1 bước đầu ra của 1 đáp ứng phi tuyến.Ta chỉ sử dụng tín hiệu xác định trước để tiên đoán, không thể tiên đoán được tín hiệu ngẫu nhiên.Số lượng noron càng nhiều thì càng chính xác, nhưng tốc độ sẽ chậm
Trang 31
BÀI 5 MẠNG HOPFIELD
5.1 Viết chương trình tạo mạng Hopfield, huấn luyện mạng và kiểm tra mạng.
5.2 Trình bày kết quả đạt được và giải thích.
- Kết quả huấn luyện:
Trang 32
LW{1,1}: 9x9
b{1}: 9x1
Nhận xét: Mạng Hopfield có thể phân loại mẫu thử đã cho
Số noron phụ thuộc vào mẫu thử
Giải thích: Mạng Hopfield nhận dạng sẽ đưa tọa độ của đối tượng về dưới dạng các tọa độ 1 và -1 Do đó cần biến đổi T Mỗi đối tượng được tạo bởi 9 ô, tương ứng với
9 cặp tọa độ, do đó cần đến 9 noron