mirror of
https://github.com/esiur/esiur-dotnet.git
synced 2025-06-27 13:33:13 +00:00
fuzzy
This commit is contained in:
30
Esiur.Analysis/Fuzzy/MamdaniDefuzzifier.cs
Normal file
30
Esiur.Analysis/Fuzzy/MamdaniDefuzzifier.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Esiur.Analysis.Fuzzy
|
||||
{
|
||||
public enum MamdaniDefuzzifierMethod
|
||||
{
|
||||
CenterOfGravity,
|
||||
FirstMaxima,
|
||||
LastMaxima,
|
||||
Bisector,
|
||||
MeanOfMaxima,
|
||||
}
|
||||
public class MamdaniDefuzzifier
|
||||
{
|
||||
|
||||
public static double Evaluate(INumericalSet<double>[] sets, MamdaniDefuzzifierMethod method, double from, double to, double step)
|
||||
{
|
||||
|
||||
var union = sets.FuzzyUnion();
|
||||
var output = union.ToDiscrete(from, to, step);
|
||||
var max = output.Maximas;
|
||||
return max[0].Key;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user