zoukankan      html  css  js  c++  java
  • 五点三次平缓滤波

    /// <summary>
    		/// 降噪算法
    		/// </summary>
    		/// <param name="inList">集合</param>
    		/// <param name="func">运算字段</param>
    		/// <param name="setFunc">赋值字段</param>
    		/// <returns></returns>
    		public static IList<T> OptimizePoints<T>(IList<T> inList, Func<T, double> func, Func<T, double, T> setFunc)
    		{
    			var N = inList.Count;
    			IList<T> outList = new List<T>();
    			int i;
    			if (N < 5)
    			{
    				return inList;
    			}
    			else
    			{
    				outList = inList;//先赋值然后再单个子项赋值
    				setFunc(outList[0], (3.0 * func(inList[0]) + 2.0 * func(inList[1]) + func(inList[2]) - func(inList[4])) / 5.0);
    				for (i = 2; i <= N - 3; i++)
    				{
    					setFunc(outList[i], (func(inList[i - 2]) + func(inList[i - 1]) + func(inList[i]) + func(inList[i + 1]) + func(inList[i + 2])) / 5.0);
    				}
    				setFunc(outList[N - 2], (4.0 * func(inList[N - 1]) + 3.0 * func(inList[N - 2]) + 2 * func(inList[N - 3]) + func(inList[N - 4])) / 10.0);
    			}
    			return outList;
    		}
    

      

    调用

    OptimizePoints<T>(result,
    						s => s.字段,
    						(t, val) =>
    						{
    							t.字段 = val;
    							return t;
    						})
    

      

  • 相关阅读:
    CSS(八) 常见的居中定位
    VUE常用的标签属性和指令
    ES6面向对象
    ES6解构赋值
    jvarScript的多个参数
    ES6的箭头函数
    Light OJ 1125 Divisible Group Sums
    Light OJ 1168 Wishing Snake
    Light OJ 1044 Palindrome Partitioning
    hdu 3967 Zero's Number
  • 原文地址:https://www.cnblogs.com/jiamiemie/p/10559643.html
Copyright © 2011-2022 走看看