可以使用以下代码实现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中将包含滤波后的数据

C#将Y轴数据Listdouble filteredDataNew = new Listdouble;滤波使用36个点的移动平均滤波

原文地址: http://www.cveoy.top/t/topic/ilrS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录