R中的模糊逻辑函数与Matlab一样

时间:2013-03-04 08:45:32

标签: r matlab

Matlab模糊逻辑工具箱,显示Fuzzy Inference System Modeling.。是否存在所有工具箱的R等价物或某些R函数,如:

  1. readfis():从文件
  2. 加载模糊推理系统
  3. evalfis():执行模糊推理计算
  4. 读取并评估R?

    中的模糊系统

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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

源代码可在他的网站上找到: http://ima.ac.uk/garibaldi

工作已发布here