Matlab模糊逻辑工具箱,显示Fuzzy Inference System Modeling.。是否存在所有工具箱的R等价物或某些R函数,如:
答案 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)
答案 1 :(得分:1)
您可以使用FuzzyToolkitUoN包。 我相信它是由J. M. Garibaldi等人在诺丁汉大学开发的。
源代码可在他的网站上找到: http://ima.ac.uk/garibaldi
工作已发布here。