📄 membershipfunction.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using FuzzyLogicController;
namespace FuzzyLogicController.MFs
{
public abstract class MemberShipFunction
{
private String _label;
private List<double> _points = new List<double>();
private double _spread;
private double _maxY = 1;
private double _centerofmass;
protected List<double> range = new List<double>();
#region Setters & Getters
public String Name
{
get { return _label; }
set { _label = value; }
}
public List<double> Range
{
get { return range; }
}
public double CenterOfMass
{
get { return _centerofmass; }
}
public double Spread
{
get { return _spread; }
}
public List<double> Params
{
get { return _points; }
set { _points = value; }
}
public double MaxY
{
get { return _maxY; }
set { _maxY = value; }
}
#endregion
#region abstract Methods
public abstract double getOutput(double Xvalue);
#endregion
#region Helper Methods
protected void CalculateCenterOfMass()
{
double stepN = 20;
double start = this.Range[0];
double end = this.Range[1];
double step = (end - start) / (stepN - 1);
double uppersum = 0;
double lowersum = 0;
for (double j = start; j < end; j = step + j)
{
double value = this.getOutput(j);
if (value > 0)
{
uppersum = value * j + uppersum;
lowersum = value + lowersum;
}
}
_centerofmass = (uppersum / lowersum);
}
protected void calculateSpread()
{
_spread = range[1] - range[0]-1;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -