資源簡介
用MATLAB編寫的離散模糊控制程序,結合本程序,我相信能能更快更好的理解模糊控制算法。算法在MATLAB Version: 7.14.0.739 (R2012a)運行無誤。
function [FCU_T1,FCU_T2,FCU_T3,FCU_T4]=fuzzy_table(Me,Mec,Mu,UC)
% Me 隸屬度表1
% Mec 隸屬度表2
% Mu 隸屬度表3
% UC 模糊規則
% FCU_T1 重心加權法,輸出精確值
% FCU_T2 重心加權法,輸出離散值
% FCU_T3 重心加權法(對隸屬度平方),輸出離散值
% FCU_T4 最大隸屬度法
function [R,n,nE,nEC,nU,nfe,nfec,nfu]=fuzzy_relation(Me,Mec,Mu,UC)
% Me 隸屬度表1
% Mec 隸屬度表2
% Mu 隸屬度表3
% UC 模糊規則
% R 表示全體規則構成的模糊關系
% n=nfe×nfec
% nE 模糊變量E的語言值個數
% nEC 表示模糊變量EC的語言值個數
% nU 表示模糊變量U的語言值個數
% nfe 表示E的等級量個數,示例1中其論域為{-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6}
% nfec 表示EC的等級量個數,示例1中其論域為{-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6}
% nfu 表示U的等級量個數,示例1中其論域為{-7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7}
% Me 表示E的隸屬度表
% Mec 表示EC的隸屬度表
% Mu表示U的隸屬度表
% UC表示規則表
。。。

代碼片段和文件信息
%?示例1:
%##定義E的模糊變量值1=PL2=PM3=PS4=ZE5=NS6=NM7=NL并輸入誤差E的隸屬度表####
Me=[?0?0?0?0?0?0?0?0?0?0.1?0.4?0.8?1.0;?????????????????????????????????????%PL(A1)
?????0?0?0?0?0?0?0?0?0.2?0.7?1.0?0.7?0.2;???????????????????????????????????%PM(A2)
?????0?0?0?0?0?0?0.3?0.8?1.0?0.5?0.1?0?0;???????????????????????????????????%PS(A3)
?????0?0?0?0?0.1?0.6?1?0.6?0.1?0?0?0?0;?????????????????????????????????????%ZE(A4)
????0?0?0.1?0.5?1.0?0.8?0.3?0?0?0?0?0?0;????????????????????????????????????%NS(A5)
????0.2?0.7?1.0?0.7?0.2?0?0?0?0?0?0?0?0?????????????????????????????????????%NM(A6)
????1?0.8?0.4?0.1?0?0?0?0?0?0?0?0?0];???????????????????????????????????????%NL(A7)
%##定義EC的模糊變量值1=PL2=PM3=PS4=ZE5=NS6=NM7=NL并輸入誤差變化率EC的隸屬度表####
Mec=[?0?0?0?0?0?0?0?0?0?0.1?0.4?0.8?1.0;????????????????????????????????????%PL(B1)
?????0?0?0?0?0?0?0?0?0.2?0.7?1.0?0.7?0.2;???????????????????????????????????%PM(B2)
?????0?0?0?0?0?0?0?0.9?1.0?0.7?0.2?0?0;?????????????????????????????????????%PS(B3)
?????0?0?0?0?0?0.5?1?0.5?0?0?0?0?0;?????????????????????????????????????????%ZE(B4)
????0?0?0.2?0.7?1.0?0.9?0?0?0?0?0?0?0;??????????????????????????????????????%NS(B5)
????0.2?0.7?1.0?0.7?0.2?0?0?0?0?0?0?0?0?????????????????????????????????????%NM(B6)
????1?0.8?0.4?0.1?0?0?0?0?0?0?0?0?0];???????????????????????????????????????%NL(B7)
%##定義U的模糊變量值1=PL2=PM3=PS4=ZE5=NS6=NM7=NL并輸出U的隸屬度表####
Mu=[0?0?0?0?0?0?0?0?0?0?0?0.1?0.4?0.8?1.0;??????????????????????????????????%PL(C1)
????0?0?0?0?0?0?0?0?0?0.2?0.7?1.0?0.7?0.2?0;????????????????????????????????%PM(C2)
????0?0?0?0?0?0?0?0.4?1.0?0.8?0.4?0.1?0?0?0;????????????????????????????????%PS(C3)
????0?0?0?0?0?0?0.5?1.0?0.5?0?0?0?0?0?0;????????????????????????????????????%ZE(C4)
????0?0?0?0.1?0.4?0.8?1.0?0.4?0?0?0?0?0?0?0;????????????????????????????????%NS(C5)
????0?0.2?0.7?1.0?0.7?0.2?0?0?0?0?0?0?0?0?0;????????????????????????????????%NM(C6)
????1.0?0.8?0.4?0.1?0?0?0?0?0?0?0?0?0?0?0];?????????????????????????????????%NL(C7)
%#######################輸入模糊控制規則表1#########################
%####(ECUE)????NL(A7)?NM(A6)?NS(A5)?ZE(A4)?PS(A3)?PM(A2)?PL(A1)?#####
%####???NL(B7)????NL?????NL?????NL??????NL????NM?????NS?????ZE?########
%####???NM(B6)????NL?????NL?????NM??????NM????NS?????ZE?????PS?########
%####???NS(B5)????NL?????NL?????NM??????NS????ZE?????PS?????PM?########
%####???ZE(B4)????NL?????NM?????NS??????ZE????PS?????PM?????PL?########
%####???PS(B3)????NM?????NS?????ZE??????PS????PM?????PL?????PL?########
%####???PM(B2)????NS?????ZE?????PS??????PM????PL?????PL?????PL?########
%####???PL(B1)????ZE?????PS?????PM??????PL????PL?????PL?????PL?########
UC=[7?7?7?7?6?5?4;
????7?7?6?6?5?4?3;
????7?7?6?5?4?3?2;
????7?6?5?4?3?2?1;
????6?5?4?3?2?1?1;
????5?4?3?2?1?1?1;
????4?3?2?1?1?1?1];
%?示例2:
%##定義E的模糊變量值1=NB2=NM3=NS4=ZE5=PS6=PM7=PB并輸入誤差E的隸屬度表####
Me=[?1.0?0.7?0.3?0?0?0?0?0?0?0?0?0?0;???????????????????????????????????????%NB(A1)
?????0.3?0.7?1.0?0.7?0.3?0?0?0?0?0?0?0?0;??????????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5883??2015-05-19?11:22??離散模糊控制MATLAB程序\離散模糊控制MATLAB程序\data.m
?????文件???????1306??2015-05-19?10:40??離散模糊控制MATLAB程序\離散模糊控制MATLAB程序\fuzzy_deduce.m
?????文件???????3320??2015-05-19?11:30??離散模糊控制MATLAB程序\離散模糊控制MATLAB程序\fuzzy_relation.m
?????文件???????1980??2015-05-19?10:45??離散模糊控制MATLAB程序\離散模糊控制MATLAB程序\fuzzy_table.m
?????文件????????138??2015-05-19?11:35??離散模糊控制MATLAB程序\離散模糊控制MATLAB程序\使用說明.txt
?????目錄??????????0??2015-05-19?11:32??離散模糊控制MATLAB程序\離散模糊控制MATLAB程序
?????目錄??????????0??2015-05-19?11:34??離散模糊控制MATLAB程序
-----------?---------??----------?-----??----
????????????????12627????????????????????7
評論
共有 條評論