2013-03-04 114 views
6

Matlab模糊逻辑工具箱,介绍了Fuzzy Inference System Modeling.。是否有所有工具箱中的R-等同或像一些一个R函数:R中的模糊逻辑函数Matlab中的模糊逻辑函数

  1. readfis():从文件加载模糊推理系统
  2. evalfis():执行模糊推理计算

阅读和评估R内的模糊系统?

+7

没有评论的downvoting不是建设性的。就我个人而言,我不明白为什么这个问题是如此的莽撞。 – agstudy 2013-03-04 08:58:55

+0

'library(sos); findFn('Fuzzy Inference System');',我得到'frbs'包。我不确定它可以读取.fis文件,但它实现了构建和使用模糊系统的功能和各种算法。 – agstudy 2013-03-04 09:12:59

回答

15

看看sets package 它可以完成您对模糊逻辑工具箱的所有需求。它允许指定你的模糊隶属函数,建立你的模糊规则,做模糊推理和解模糊化。 ?fuzzy_inference中的示例显示了标准模糊逻辑教科书的餐厅示例。 我强烈推荐它。

## set universe 
sets_options("universe", seq(from = 0, to = 25, by = 0.1)) 

## set up fuzzy variables 
variables <- 
set(service = fuzzy_partition(varnames = c(poor = 0, good = 5, excellent = 10), sd = 1.5), 
food = fuzzy_variable(rancid = fuzzy_trapezoid(corners = c(-2, 0, 2, 4)), 
         delicious = fuzzy_trapezoid(corners = c(7, 9, 11, 13))), 
tip = fuzzy_partition(varnames = c(cheap = 5, average = 12.5, generous = 20), 
         FUN = fuzzy_cone, radius = 5) 
) 

## set up rules 
rules <- 
set(
fuzzy_rule(service %is% poor || food %is% rancid, tip %is% cheap), 
fuzzy_rule(service %is% good, tip %is% average), 
fuzzy_rule(service %is% excellent || food %is% delicious, tip %is% generous) 
) 

## combine to a system 
system <- fuzzy_system(variables, rules) 
print(system) 
plot(system) ## plots variables 

## do inference 
fi <- fuzzy_inference(system, list(service = 3, food = 8)) 

## plot resulting fuzzy set 
plot(fi) 

## defuzzify 
gset_defuzzify(fi, "centroid") 

## reset universe 
sets_options("universe", NULL) 

enter image description here

+0

你指的是哪种“标准模糊逻辑教科书”? – Johannes 2013-05-08 09:12:13

+0

我在一个人工智能硕士课程中学到了餐厅的例子。不知道餐厅的例子究竟是从哪里来的,但它也是一个例子,出现在Matlab的模糊逻辑工具箱的手册中。那么,这只是一个模糊推理的例子,在教科书中有十几个。 – jwijffels 2013-05-08 09:45:50

1

可以使用FuzzyToolkitUoN包。 我相信它是由诺丁汉大学的J. M. Garibaldi和其他人开发的。

的源代码可以在自己的网站: http://ima.ac.uk/garibaldi

和工作发表here