示例#1
0
        public LinguisticVariable(LinguisticVariableParameters par)
        {
            name = par.Name;
            x    = par.range;
            H    = par.Labels.ToArray();
            G    = new IMembershipFunction[par.memberShipFunction.Count];

            for (int i = 0; i < par.memberShipFunction.Count; i++)
            {
                var mFunction = par.memberShipFunction[i];
                mFunction = mFunction.Remove(mFunction.Length - 1, 1);
                var mFunctionArray = mFunction.Split('(');

                var args = new List <string>();
                foreach (var v in mFunctionArray[1].Split(','))
                {
                    args.Add(v);
                }
                switch (mFunctionArray[0])
                {
                case "triangle":
                    var triangle1 = double.Parse(args[0]);
                    var triangle2 = double.Parse(args[1]);
                    var triangle3 = double.Parse(args[2]);
                    G[i] = new TriangleMembershipFunction(triangle1, triangle2, triangle3);
                    break;

                case "trapezoid":
                    var trapezoid1 = double.Parse(args[0]);
                    var trapezoid2 = double.Parse(args[1]);
                    var trapezoid3 = double.Parse(args[2]);
                    var trapezoid4 = double.Parse(args[3]);
                    G[i] = new TrapezoidMembershipFunction(trapezoid1, trapezoid2, trapezoid3, trapezoid4);
                    break;

                case "classic":
                    var classic1 = args[0];
                    var classic2 = double.Parse(args[1]);
                    G[i] = new ClassicMembershipFunction(classic1, classic2);
                    break;

                case "gauss":
                    var gauss1 = double.Parse(args[0]);
                    var gauss2 = double.Parse(args[1]);
                    G[i] = new GaussMembershipFunction(gauss1, gauss2);
                    break;
                }
            }
        }
示例#2
0
 public Quantifier(LinguisticVariableParameters par) : base(par)
 {
     if (par.type == LinguisticType.QuantifierAbsolute)
     {
         relative = false;
     }
     else if (par.type == LinguisticType.QuantifierRelative)
     {
         relative = true;
     }
     else
     {
         throw new Exception("Quantifier - wrong type");
     }
 }
示例#3
0
 public Summarizer(LinguisticVariableParameters par) : base(par)
 {
     attribute = par.attribute;
 }
示例#4
0
 public Qualifier(LinguisticVariableParameters par) : base(par)
 {
     attribute = par.attribute;
 }