private float Maximum(FuzzyNumber fuzzyNumber) { float max = 0; FuzzyUtility.FuzzyStates maxState = FuzzyUtility.FuzzyStates.Z; foreach (FuzzyUtility.FuzzyStates state in System.Enum.GetValues(typeof(FuzzyUtility.FuzzyStates))) { float current = fuzzyNumber[state]; if (current <= max) { continue; } else { maxState = state; max = current; } } float meanOfMaximum = FuzzyNumber.NormalisedStateValues[maxState]; return(meanOfMaximum); }
public float this[FuzzyUtility.FuzzyStates state] { get { return(values[(int)state]); } set { values[(int)state] = value; } }
/// <summary> /// Regular find max algorythm on the values provided /// </summary> private float GetMaxVariableMembershipState(CrispOutput.Outputs outputVariable, FuzzyUtility.FuzzyStates membershipState, List <FuzzyOutputData> unaggragatedFuzzyOuputs) { float cur; float max = 0; foreach (FuzzyOutputData fuzzyOutput in unaggragatedFuzzyOuputs) { cur = fuzzyOutput[outputVariable][membershipState]; if (cur <= max) { continue; } else { max = cur; } } return(max); }
internal AnimationCurve this[FuzzyUtility.FuzzyStates state] { get { return(curve[(int)state]); } set { curve[(int)state] = value; } }