一维数组滑窗滤波C语言
时间: 2023-09-09 11:09:55 浏览: 48
下面是一维数组滑窗滤波的C语言代码示例:
```c
#include <stdio.h>
// 定义数组长度和滑窗大小
#define N 10
#define W 3
int main() {
// 定义数组和临时变量
int arr[N] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int sum = 0, val;
// 打印原始数组
printf("Original array: ");
for (int i = 0; i < N; i++) {
printf("%d ", arr[i]);
}
printf("\n");
// 滑窗滤波
for (int i = 0; i < N - W + 1; i++) {
sum = 0;
for (int j = i; j < i + W; j++) {
sum += arr[j];
}
val = sum / W;
arr[i + W / 2] = val;
}
// 打印滤波后的数组
printf("Filtered array: ");
for (int i = 0; i < N; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
上述代码中,我们首先定义了数组长度和滑窗大小,然后根据这些参数定义数组和临时变量。接着打印原始数组,使用两层循环对数组进行滑窗滤波,并将滤波结果存储在数组中间位置。最后打印滤波后的数组。需要注意的是,在本示例中,我们采用的是简单平均滤波算法,可以根据实际需求采用不同的滤波算法。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_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)