C#将Y轴数据滤波使用36个点的移动平均滤波
在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,则需要在代码中进行相应的处理
原文地址: https://www.cveoy.top/t/topic/ilrL 著作权归作者所有。请勿转载和采集!