LinguisticVariable.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. using FuzzyLogicPCL.FuzzySets;
  2. using System;
  3. using System.Collections.Generic;
  4. namespace FuzzyLogicPCL
  5. {
  6. public class LinguisticVariable
  7. {
  8. internal String Name { get; set; }
  9. List<LinguisticValue> Values { get; set; }
  10. internal Double MinValue { get; set; }
  11. internal Double MaxValue { get; set; }
  12. public LinguisticVariable(String _name, double _min, double _max)
  13. {
  14. Values = new List<LinguisticValue>();
  15. Name = _name;
  16. MinValue = _min;
  17. MaxValue = _max;
  18. }
  19. public void AddValue(LinguisticValue lv) {
  20. Values.Add(lv);
  21. }
  22. public void AddValue(String name, FuzzySet fs)
  23. {
  24. Values.Add(new LinguisticValue(name, fs));
  25. }
  26. public void ClearValues() {
  27. Values.Clear();
  28. }
  29. internal LinguisticValue LinguisticValueByName(string name)
  30. {
  31. name = name.ToUpper();
  32. foreach (LinguisticValue val in Values)
  33. {
  34. if (val.Name.ToUpper().Equals(name))
  35. {
  36. return val;
  37. }
  38. }
  39. return null;
  40. }
  41. }
  42. }