C#实现算术平均 滤波算法 输入List<double>返回List<double>
时间: 2024-06-09 15:01:23 浏览: 24
以下是 C# 实现算术平均滤波算法的代码,输入 List<double>,返回 List<double>:
```csharp
public static List<double> ArithmeticMeanFilter(List<double> inputList, int windowSize)
{
List<double> outputList = new List<double>();
for (int i = 0; i < inputList.Count; i++)
{
if (i < windowSize - 1)
{
outputList.Add(inputList[i]);
}
else
{
double sum = 0;
for (int j = i - windowSize + 1; j <= i; j++)
{
sum += inputList[j];
}
double mean = sum / windowSize;
outputList.Add(mean);
}
}
return outputList;
}
```
相关问题
C#实现滑动平均滤波算法 输入List<double>返回List<double>
可以使用以下的C#代码实现滑动平均滤波算法:
```csharp
public static List<double> SlidingAverage(List<double> input, int windowSize)
{
List<double> output = new List<double>();
for (int i = 0; i < input.Count; i++)
{
double sum = 0;
int count = 0;
for (int j = Math.Max(0, i - windowSize + 1); j <= i; j++)
{
sum += input[j];
count++;
}
output.Add(sum / count);
}
return output;
}
```
使用示例:
```csharp
List<double> input = new List<double> { 1.2, 2.3, 3.4, 4.5, 5.6 };
int windowSize = 3;
List<double> output = SlidingAverage(input, windowSize);
foreach (double value in output)
{
Console.WriteLine(value);
}
```
输出结果:
```
1.2
1.75
2.3
3.4
4.5
```
C#实现加权递推平均滤波算法 输入List<double>返回List<double>
可以使用以下的C#代码实现加权递推平均滤波算法:
```csharp
public static List<double> WeightedMovingAverage(List<double> input, int windowSize, List<double> weights)
{
List<double> output = new List<double>();
// 首先计算初始的平均值
double sum = 0;
for (int i = 0; i < windowSize; i++)
{
sum += input[i] * weights[i];
}
output.Add(sum / windowSize);
// 使用递推公式计算后续的平均值
for (int i = windowSize; i < input.Count; i++)
{
sum -= input[i - windowSize] * weights[0];
sum += input[i] * weights[windowSize - 1];
output.Add(sum / windowSize);
}
return output;
}
```
这个函数接受三个参数:输入的数据列表`input`,窗口大小`windowSize`和权重列表`weights`。它会返回一个列表,其中包含加权递推平均滤波后的结果。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)