⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 membershipfunction.cs

📁 Fuzzy logic controller that uses mamdani logic.
💻 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 + -