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); }
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); }
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)); }