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

      

  • 相关阅读:
    node mysql
    css问题
    mac 命令
    js 严格模式
    js 数组
    sass
    js 面向对象 定义对象
    response.getWriter().write("中文");乱码问题
    读取文件并找出年龄最大的N个人-兰亭集市笔试题
    阿里巴巴暑期实习生笔试
  • 原文地址:https://www.cnblogs.com/jiamiemie/p/10559643.html
Copyright © 2011-2022 走看看