1

我正在为 Android 应用程序使用 Java 中的模糊逻辑,我正在使用 JFuzzy Logic 开源库,但如果我们可以使用除重心 (COG) 方法之外的任何其他去模糊化方法,我找不到任何参考。如果我们在 JFuzzy 逻辑库中有这种能力,或者它只适用于 COG 方法,谁能帮助我或告诉我?

我的意思是在这部分具体:

METHOD : COG;       // Use 'Center Of Gravity' defuzzification method
DEFAULT := 0;       // Default value is 0 (if no rule activates defuzzifier)
4

1 回答 1

0

我刚刚发布这个问题后找到答案:)

protected Defuzzifier createDefuzzifier(String defuzzificationMethodType, Variable variable) {
    Object defuzzifier;
    if(defuzzificationMethodType.equalsIgnoreCase("COG")) {
        defuzzifier = new DefuzzifierCenterOfGravity(variable);
    } else if(defuzzificationMethodType.equalsIgnoreCase("COGS")) {
        defuzzifier = new DefuzzifierCenterOfGravitySingletons(variable);
    } else if(defuzzificationMethodType.equalsIgnoreCase("COGF")) {
        defuzzifier = new DefuzzifierCenterOfGravityFunctions(variable);
    } else if(defuzzificationMethodType.equalsIgnoreCase("COA")) {
        defuzzifier = new DefuzzifierCenterOfArea(variable);
    } else if(defuzzificationMethodType.equalsIgnoreCase("LM")) {
        defuzzifier = new DefuzzifierLeftMostMax(variable);
    } else if(defuzzificationMethodType.equalsIgnoreCase("RM")) {
        defuzzifier = new DefuzzifierRightMostMax(variable);
    } else {
        if(!defuzzificationMethodType.equalsIgnoreCase("MM")) {
            throw new RuntimeException("Unknown/Unimplemented Rule defuzzification method '" + defuzzificationMethodType + "'");
        }

        defuzzifier = new DefuzzifierMeanMax(variable);
    }

    return (Defuzzifier)defuzzifier;
}
于 2018-04-11T19:41:58.750 回答