MATLAB智能控制模糊推理常用函数用法及参数解析

MATLAB智能控制模糊推理常用函数用法及参数解析

XXmf()函数(以mf结尾的函数)

trapmf(x,[a b c d]) 建立梯形隶属函数;

rmmf(fis,‘varType’,‘varIndex’,‘mf’,mfIndex) 从FIS中删除某一隶属函数
从与工作空间FIS结构fis相关的模糊推理系统中删除变量类型为varType,索引为varIndex的隶属函数mfIndex。
vartype:字符串类型必须是’input’ 或’output’
varIndex:表示变量索引的一个整数,此索引表示列出变量的顺序
mfIndex:表示隶属函数索引的一个整数,此索引表示列出隶属函数的顺序。

evalmf() 计算隶属度函数

plotmf() 绘制隶属度函数
此函数绘制与给定变量相关的称为fismat的FIS中的所有隶属函数曲线,变量的类型和索引分别由varType (‘input’ 或’output’)和varIndex给出。此函数也可以与MATLAB函数subplot一起使用。

addmf(a,‘vartype’,varindex,‘mfname’,‘mftype’,mfparams); 向FIS的语言变量中添加隶属 度函数
a:工作空间中的FIS结构变量名
vartype:要添加的隶属度函数的变量类型
varindex为隶属度函数的变量编号
mfname新添加的隶属度函数名
mftype:新隶属度函数的类型
mfparams指定隶属度函数的参数向量;
举例:

a=addmf(a,'input',1,'NB','zmf',[-3,-1]);
a=addmf(a,'input',1,'NS','trimf',[-3,-1,1]);

trimf(); 建立三角形隶属度函数;

XXfis()函数(以fis结尾的函数)

setfis(a,‘fispropname’,‘newfisprop’) 设置模糊系统的属性
a:为模糊规则库
fispropname:表示你要设置FIS域属性的一个字符串:name,type,andmethod,ormethod,impmethod,aggmethod,defuzzmethod
newfisprop:你要设置的FIS的属性或方法名称的一个字符串
举例:

>>a = readfis('tipper');
>>a2 = setfis(a, 'name', 'eating');
>>getfis(a2, 'name');
结果为:
out =
eating

newfis(‘fishname’) 创建一个,模糊推理系统(FIS);

evalfis(input, fismat, numPts); 进行模糊推理运算,即给定输入,得到输出;
input:指定输入值的一个数或一个矩阵,如果输入的是一个如果输入是一个M×N矩阵,其中N是输入变量数,那么evalfis使用 input的每一行作为一个输入向量,并且为变量output返回M×L矩阵,该矩阵每一行是一个向量并且L是输出变量数;
fismat:要计算的一个FIS结构;
numPts:一个可选变量,它表示在输入或输出范围内的采样点数,在这些点上计算隶属函数,如果 不使用此变量,就使用101点的缺省值。

plotfis() 绘制FIS系统结构
此函数显示由fismat指定的一个FIS的高层方框图,输入和它们的隶属函数出现在结构特征图的左边,同时输出和它们的隶属函数出现在结构特征图的右边。

readfis(‘fuzzf’); 从磁盘导入fuzzf.fis文件;
从磁盘上的一个.fis文件(由filename命名)读出一个模糊推理系统,并将产生的FIS装入当前的工作空间中。Fismat = readfis不带输入变量,即没有指定文件名时,使用uigetfile命令打开一个对话框,提示用户指定文件的名称和目录位置。

evalfis(input,fismat,numPts) 计算FIS输出
input:指定输入值的一个数或一个矩阵,如果输入是一个M×N矩阵,其中N是输入变量数,那么evalfis使用 input的每一行作为一个输入向量,并且为变量output返回M×L矩阵,该矩阵每一行是一个向量并且L是输出变量数
fismat:要计算的一个FIS结构
numPts:一个可选变量,它表示在输入或输出范围内的采样点数,在这些点上计算隶属函数,如果 不使用此变量,就使用101点的缺省值。

getfis() 获取FIS结构的属性

writfis(a,‘fuzzf’); 保存fuzzf.fis文件到磁盘上;
writefis将一个MATLAB工作空间FIS结构fismat用一个.fis文件形式保存到磁盘上;

showfis() 显示FIS结构参数
以分行方式显示MATLAB工作空间FIS变量fismat,允许你查看结构的每个域的意义和内容。

XXvar()函数(以var结尾的函数)

addvar(a,‘vartype’,‘varname’,varBounds); 向模糊推理系统(FIS)添加语言变量,
a:工作空间中的FIS结构变量名
vartype:字符串类型,必须为input或output两类
varBounds为误差变化率;

rmvar(fis,‘varType’,‘varIndex’) 从FIS中删除变量
vartype:字符串类型,必须为input或output两类
varIndex:表示变量索引的一个整数,此索引表示列出变量的顺序

XXrule()函数(带有rule的函数)

addrule(a,rulelist); 添加模糊推理的控制规则
rulelist:是一个矩阵,每一行为一条规 则,且每行有N+M+2个元素,前N个数表示N个输入变量的语言名称的index,没有则用0表示,后M个数表示OR。
举例:
当“输入1”为“名称1”和“输入2”为“名称3”时,输出为“输出1”的“状态2”,则写为:
[1 3 2 1 1]

ruleview(); 模糊推理编辑器的显示;
通过ruleview(‘a’)可打开a.fis规则状况的规则观测器,从中可对文件a.fis所对应的FIS结构画出模糊推理框图,并可显示整个框图。

ruleedit() 规则编辑器和语法编辑器
可用于修改存储在文件a.fis中的一个FIS结构的规则。

showrule(fis,indexList,format) 用于显示与给定系统相关的规则
fis:FIS结构在MATLAB工作控件中的变量名
indexList:要显示的规则向量(可选项)
format:表示返回规则的字符串(可选项)

其他函数

surfview() 绘制系统输出曲面

disp(); 将内容输出到matlab命令窗口中;

ceil(); 向离他最近的较大的整数取整;

fuzzy 调用基本FIS编辑器;
fuzzy / fuzzy(fismat)
FIS编辑器可让用户方便地创建或修改FIS(模糊推理系统)的高级特性

defuzz(x,mf,‘type’) 执行反模糊化运算;
可得到输入为x时隶属度为mf的反模糊值

tf() 建立传递函数,例H = s/(s^2 + 2*s +10),可写为tf([1,0],[1,2,10]);

c2d() 转化为差分方程;

[num, den]=tfdata(dsys, ‘v’) 提取差分方程系数;

  • 21
    点赞
  • 141
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猫头丁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值