/// <summary> /// 获取过滤粗差后的数据。循环过滤,直到所有粗差数据剔除。 /// </summary> /// <param name="thresholdTimes">几倍中误差?</param> /// <returns></returns> public List <Double> Filter(double thresholdTimes) { this.ThresholdTimes = thresholdTimes; int resultCount = 0; List <Double> results = DoubleUtil.Filter(this.Residuals, LimitError); //已经完全满足条件 if (results.Count == this.Residuals.Count <Double>()) { return(results); } do { resultCount = results.Count;//上一次结果数量。 GrossErrorFilter filter = new GrossErrorFilter(results); results = filter.Filter(thresholdTimes); } while (resultCount != results.Count); return(results); }