private void buttonSave_Click(object sender, EventArgs e) { if (Interval == null) Interval = new Interval(); Interval.TimeFrom = dateTimePickerFrom.Value.TimeOfDay; Interval.TimeTo = dateTimePickerTo.Value.TimeOfDay; Interval.Days = new HashSet<DayOfWeek>(); foreach (var checkedItem in checkedListBoxDays.CheckedIndices) { Interval.Days.Add((DayOfWeek) checkedItem); } }
public static Interval Min(Interval A, Interval B) { double upper = Math.Min(A.Upper, B.Upper); double lower = A.Upper >= B.Upper ? B.Lower : A.Lower; return new Interval(lower, upper); }
public RuleWithFiringStrength(Type2MamdaniFuzzyRule rule, Interval firingStrength) { this.rule = rule; this.firingStrength = firingStrength; }
public ActionResult Aggregate(ResultsModel resultsModel) { try { // union double lower = 10, upper = 0; foreach (var result in resultsModel.AllResults) { if (!result.IsFullWorkspace) { var splitInterval = (from i in result.OutputInterval.Split(new[] {";", "[", "]"}, StringSplitOptions.RemoveEmptyEntries) select i.Trim()).ToList(); if (splitInterval.Count() == 2) { double parsedLower = double.Parse(splitInterval[0]); if (parsedLower < lower) { lower = parsedLower; } double parsedUpper = double.Parse(splitInterval[1]); if (parsedUpper > upper) { upper = parsedUpper; } } } } // intersection with full results foreach (var result in resultsModel.AllResults) { if (result.IsFullWorkspace) { var splitInterval = (from i in result.OutputInterval.Split(new[] { ";", "[", "]" }, StringSplitOptions.RemoveEmptyEntries) select i.Trim()).ToList(); if (splitInterval.Count() == 2) { double parsedLower = double.Parse(splitInterval[0]); if (parsedLower < upper) { lower = parsedLower; } double parsedUpper = double.Parse(splitInterval[1]); if (parsedUpper > lower) { upper = parsedUpper; } } } } var interval = new Interval(lower, upper); var aggregatedResult = new ResultModel { IsAggregated = true, OutputInterval = interval.ToString(), OutputLinguistic = string.Join( ", ", DecisionMakerType2.IntervalToLinguistic(interval)) }; return PartialView("_Result", aggregatedResult); } catch (Exception ex) { return new HttpStatusCodeResult(System.Net.HttpStatusCode.InternalServerError); } }
private ResultModel ResultToModel(Interval result, bool isFullWorkspace, int workspaceId, string workspaceName, string linguisticTerm) { return new ResultModel { IsAggregated = false, IsFullWorkspace = isFullWorkspace, IsSelectedForAggregation = false, WorkspaceID = workspaceId, WorkspaceName = workspaceName, OutputInterval = result.ToString(), OutputLinguistic = linguisticTerm }; }
private Interval EvaluateConditionPair(Interval cond1, Interval cond2, OperatorType op) { if (op == OperatorType.And) { return Interval.Min(cond1, cond2); } throw new Exception("Internal error."); }
public static List<string> IntervalToLinguistic(Interval outputInterval) { var result = new List<string>(); if (outputInterval.Lower <= 3) { result.Add(TermToUA("Low")); } if (outputInterval.Lower <= 7 && outputInterval.Upper > 3) { result.Add(TermToUA("Acceptable")); } if (outputInterval.Upper > 7) { result.Add(TermToUA("High")); } //var sortedTerms = outputVariable.Terms.OrderBy(t => t.LowerB); //foreach (var term in sortedTerms) //{ // if (outputInterval.Lower < term.UpperB) // { // result.Add(TermToUA(term.Name)); // } // if (outputInterval.Upper < term.UpperB) // { // break; // } //} return result; }