c语言计算滑动平均值
时间: 2024-06-24 13:00:36 浏览: 78
滑动平均值是一种统计方法,用于平滑数据序列,通常在时间序列分析中用来减少随机噪声的影响。在C语言中,我们可以创建一个简单的循环来计算给定数组或序列中的一组连续元素的平均值,随着新数据的添加和旧数据的移除,这个平均值会“滑动”。
以下是一个简单的C语言函数,用于计算一个固定大小数组的滑动平均值:
```c
#include <stdio.h>
#define ARRAY_SIZE 5 // 假设数组大小为5
#define SLIDING_WINDOW 3 // 滑动窗口大小为3
double calculate_sliding_average(int data[], int size, int window) {
double sum = 0;
int count = 0;
for (int i = window - 1; i < size; ++i) {
sum += data[i];
count++;
if (i >= window - 1) { // 当新的元素进入窗口
sum -= data[i - window]; // 移除最老的数据
}
data[i] = sum / count; // 计算并更新当前窗口的平均值
}
return data[size - 1]; // 返回最新窗口的平均值
}
// 示例用法
int main() {
int data[ARRAY_SIZE] = {1, 2, 3, 4, 5};
double average = calculate_sliding_average(data, ARRAY_SIZE, SLIDING_WINDOW);
printf("滑动窗口大小 %d 的平均值: %.2f\n", SLIDING_WINDOW, average);
return 0;
}
```
阅读全文