资源简介
用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
相关资源
- 基于matlab的模糊控制程序集
-
模糊控制的matlab simuli
nk仿真 - 模糊控制与PID对比
- Matlab T-S模糊控制仿真
- MATLAB模糊控制编程
- 大时滞系统的模糊控制MATLAB仿真\\大时
-
Simuli
nk仿真_模糊PID控制 - 基于模糊控制的路径规划算法的仿真
- 模糊控制水箱程序
- 模糊PID控制m文件代码实现
- 船舶航向的模糊控制matlab仿真
- 基于MATLAB的模糊控制表计算程序.m
- 自己修改过的倒立摆代码
-
模糊PID控制simuli
nk模型 - 光伏mppt模糊控制的模型
-
BLDCM simuli
nk 模糊控制仿真 - 时滞系统的模糊PID控制的matlab/simuli
- 模糊控制器与PID控制器_性能对比 基于
- 船舶航向模糊控制matlab仿真代码非s
- 永磁同步电机模糊PID控制
- matlab自动平行泊车系统
- 基于BP神经网络的煤矿矿井空调模糊控
- 模糊控制matlab代码
- 模糊控制的Matlab仿真
- matlab开发-使用PSO的最佳模糊控制器
- 模糊控制模糊洗衣机matlab程序
- 微网模糊控制和原理图
- 2 2课程报告要求:按照讲课内容
- succes 模糊PID直流电机控制
- fuuzy 程序是模糊MPPT控制
评论
共有 条评论