C#将Y轴数据Listdouble filteredDataNew = new Listdouble;滤波使用36个点的移动平均滤波
可以使用以下代码实现36个点的移动平均滤波:
List<double> filteredDataNew = new List<double>();
int windowSize = 36;
for (int i = 0; i < Y轴数据.Count; i++)
{
if (i < windowSize)
{
// 如果数据点数量小于窗口大小,则直接将当前数据点添加到filteredDataNew中
filteredDataNew.Add(Y轴数据[i]);
}
else
{
// 计算窗口内数据点的平均值,并将结果添加到filteredDataNew中
double sum = 0;
for (int j = i - windowSize; j < i; j++)
{
sum += Y轴数据[j];
}
double average = sum / windowSize;
filteredDataNew.Add(average);
}
}
在这个代码中,我们首先定义了窗口大小为36。然后,使用一个循环遍历Y轴数据列表中的每个数据点。在每次循环中,我们检查当前数据点的索引是否小于窗口大小。如果是,我们直接将当前数据点添加到filteredDataNew中。如果不是,我们计算窗口内数据点的平均值,并将结果添加到filteredDataNew中。最终,filteredDataNew中将包含滤波后的数据
原文地址: http://www.cveoy.top/t/topic/ilrS 著作权归作者所有。请勿转载和采集!