Пример #1
0
    private void RunFuzzy()
    {
        float[] minValues = new float[CrispInput.NumberOfVariables] {
            Input1Min, Input2Min, -1
        };
        float[] neutralValues = new float[CrispInput.NumberOfVariables] {
            0, 0, 0
        };
        float[] maxValues = new float[CrispInput.NumberOfVariables] {
            Input1Max, Input2Max, 1
        };



        CrispInput crispInput = fuzzySystem.BuildInputNormalisedUneven(new float[] { crispInput1, crispInput2, crispInput3 }, minValues, neutralValues, maxValues);

        Debug.Log($"In log {crispInput1} -> {crispInput[CrispInput.Inputs.Input1]}");

        CrispOutput normalisedCrispOutput = fuzzySystem.FuzzyCompute(crispInput);

        CrispOutput unNormalisedOutput = fuzzySystem.UnNormaliseOutputUneven(normalisedCrispOutput, minValues, neutralValues, maxValues);


        Debug.Log($"Out log {normalisedCrispOutput[CrispOutput.Outputs.Output1]} -> {unNormalisedOutput[CrispOutput.Outputs.Output1]}");
    }