五点三次平缓滤波

摘要:
//////降噪算法//////集合///运算字段///赋值字段///publicstaticIListOptimizePoints{varN=inList.Count;IListoutList=newList();inti;if(N˂5){returninList;}else{outList=inList;//先赋值然后再单个子项赋值setFunc;for{setFunc;}setFunc;}returnoutList;}调用OptimizePoints
/// <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;
						})

免责声明:文章转载自《五点三次平缓滤波》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇HTTP 请求头 Header暑假考试题3:jigsaw 黄金拼图(乱搞)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

win10局域网共享报错:不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接

计算机A:共享者(本地文件库);共享访客(工作计算机);计算机A打开另一个帐户-aaa,密码-aaa123。开始文件共享后,计算机B单击网络,发现计算机A已连接。输入帐户密码后,将弹出以下错误。不允许用户使用多个用户名多次连接到服务器或共享资源:断开与此服务器或共享的资源的所有连接。在此链接之前:存在现有连接,或者在建立连接时,现有网络环境已更改,导致帐户被...

docker安装宝塔

主机的/home/www文件夹映射到docker容器的/www(注意:如果文件目录不存在,特权意味着在运行容器时,容器被授予特权,容器有权写入文件。然后问题来了……安装完成后,如果重新启动容器,容器宝塔会丢失吗?不,让我们试试:...

Redis之有序集合(Zset)

序列号命令和描述1ZADDkeyscore1member1[score2member2]将一个或多个成员添加到有序集合。...

VSCode, 当今最流行的免费开源代码编辑器,微软出品,必属精品

Visual Studio代码是一个轻量级但功能强大的源代码编辑器,可以在桌面上运行,可以用于Windows、MacOS和Linux。直接在编辑器中检查差异,暂时保存文件并提交。Visual Studio代码产品在初始操作中的内部代码控制可以通过编辑器内的SCM支持(包括丰富的Git集成)加快发布周期。用户界面-介绍VSCode编辑器的基本UI、命令和功能。...

海康SDK编程指南(C#二次开发版本)

海康SDK编程指南目前使用的海康SDK包括IPC_SDK,Plat_SDK(平台),其中两套SDK都需单独调用海康播放库PlayCtrl.dll来解码视频流,返回视频信息和角度信息。本文仅对视频监控常用功能的使用进行说明,其它未实现功能请参看设备网络SDK使用手册和播放库编程指南V7.2。IPC_SDK编程指南(一)SDK的引用由于IPC_SDK没有SDK安...

Python之路

Python之路引子与其感慨路难行,不如马上出发PythonPython之路(一):初识Python之路(二):基本数据类型(上)Python之路(三):基本数据类型(下)Python之路(四):函数介绍及使用Python之路(五):内置函数Python之路(六):迭代器,装饰器,生成器Python之路(七):字符串处理Python之路(八):基础模块(一)...