用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表示规则表
。。。
2019-12-21 19:25:51
4KB
模糊控制
1