在C#中,可以使用以下代码实现Y轴数据的36个点的移动平均滤波:

public double[] MovingAverageFilter(double[] data, int windowSize)
{
    double[] filteredData = new double[data.Length];

    for (int i = 0; i < data.Length; i++)
    {
        double sum = 0;

        // Calculate the sum of the values in the window
        for (int j = Math.Max(0, i - windowSize / 2); j <= Math.Min(data.Length - 1, i + windowSize / 2); j++)
        {
            sum += data[j];
        }

        // Calculate the average value
        filteredData[i] = sum / windowSize;
    }

    return filteredData;
}

使用方法如下:

double[] yData = { /* Y轴数据 */ };
int windowSize = 36;

double[] filteredData = MovingAverageFilter(yData, windowSize);

其中,yData是原始的Y轴数据,windowSize是滤波窗口的大小,filteredData是滤波后的数据。

请注意,此代码假设输入的数据数组yData的长度大于等于36,如果数据长度小于36,则需要在代码中进行相应的处理

C#将Y轴数据滤波使用36个点的移动平均滤波

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

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