public void GivenMultipleDomains_TestOutputSet()
 {
     IDomain   d1 = DomainFactory.CreateDomain(new int[] { 1, 2, 3 });
     IDomain   d2 = DomainFactory.CreateDomain(new string[] { "a", "b" });
     IDomain   d3 = DomainFactory.CreateDomain(new IDomain[] { d1, d2 });
     IFuzzySet f1 = FuzzySetFactory.CreateFuzzySet(d1, new double[] { 1, 0.5, 0 });
     IFuzzySet f2 = f1.CylindricalExtension(d3);
 }
Ejemplo n.º 2
0
 public IFuzzySet Calculate(IFuzzySet first, IFuzzySet second)
 {
     IList<double> memberships = new List<double>();
     IDomain domain = DomainFactory.CreateDomain(new IDomain[] { first.GetDomain(), second.GetDomain() });
     IFuzzySet firstCyl = first.CylindricalExtension(domain);
     IFuzzySet secondCyl = second.CylindricalExtension(domain);
     for (int i = 0; i < domain.GetCardinality(); i++)
     {
         double value1 = firstCyl.GetMembershipFor(domain.ElementAt(i));
         double value2 = secondCyl.GetMembershipFor(domain.ElementAt(i));
         memberships.Add(value1 * value2);
     }
     return FuzzySetFactory.CreateFuzzySet(domain, memberships);
 }
Ejemplo n.º 3
0
        public IFuzzySet Calculate(IFuzzySet first, IFuzzySet second)
        {
            IList <double> memberships = new List <double>();
            IDomain        domain      = DomainFactory.CreateDomain(new IDomain[] { first.GetDomain(), second.GetDomain() });
            IFuzzySet      firstCyl    = first.CylindricalExtension(domain);
            IFuzzySet      secondCyl   = second.CylindricalExtension(domain);

            for (int i = 0; i < domain.GetCardinality(); i++)
            {
                double value1 = firstCyl.GetMembershipFor(domain.ElementAt(i));
                double value2 = secondCyl.GetMembershipFor(domain.ElementAt(i));
                memberships.Add(value1 * value2);
            }
            return(FuzzySetFactory.CreateFuzzySet(domain, memberships));
        }