• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-07
  • 语言: Matlab
  • 标签: 模糊控制  

资源简介

用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


评论

共有 条评论