C# 中的简单循环(移动平均)数组

作者:编程家 分类: arrays 时间:2025-11-10

# 使用C#实现简单的移动平均数组

在C#中,实现移动平均数组是一种常见的任务,特别是在处理时间序列数据时。移动平均可以平滑数据并突出趋势,对于分析和预测具有重要作用。在本文中,我们将讨论如何使用简单的循环结构来实现移动平均,并提供一个简单的示例代码。

## 移动平均简介

移动平均是一种通过计算一系列连续数据点的平均值来创建新数据序列的方法。这有助于减少数据的噪声,使趋势更加明显。简单的移动平均是一种基本的平滑技术,通过在数据集中取固定大小的窗口,计算窗口内数据的平均值,并将该平均值作为新的数据点。

## C#代码实现

以下是一个简单的C#示例代码,演示了如何使用简单的循环结构来计算移动平均数组。在这个例子中,我们将使用一个数组来存储数据,并通过循环计算移动平均。

csharp

using System;

class Program

{

static void Main()

{

// 原始数据

double[] data = { 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 };

// 窗口大小

int windowSize = 3;

// 计算移动平均数组

double[] movingAverage = CalculateMovingAverage(data, windowSize);

// 输出结果

Console.WriteLine("原始数据:");

PrintArray(data);

Console.WriteLine("%

移动平均数组:");

PrintArray(movingAverage);

}

static double[] CalculateMovingAverage(double[] data, int windowSize)

{

double[] movingAverage = new double[data.Length - windowSize + 1];

for (int i = 0; i < movingAverage.Length; i++)

{

double sum = 0;

for (int j = 0; j < windowSize; j++)

{

sum += data[i + j];

}

movingAverage[i] = sum / windowSize;

}

return movingAverage;

}

static void PrintArray(double[] array)

{

foreach (var item in array)

{

Console.Write(item + " ");

}

Console.WriteLine();

}

}

在上面的代码中,我们定义了一个`CalculateMovingAverage`函数,该函数使用嵌套循环来计算移动平均。然后,我们使用示例数据和窗口大小调用该函数,并输出原始数据和移动平均数组。

#

通过简单的循环结构,我们可以在C#中实现移动平均数组。这种技术对于处理时间序列数据和减少噪声非常有用,有助于更清晰地识别数据中的趋势。在实际应用中,可以根据具体需求调整窗口大小和其他参数,以获得最佳的移动平均效果。