设计程序,实现一个滑动窗口均值滤波器,每次从屏幕输入1个float型数据后,滤波器计算出对应的结果,并且在屏幕打印出来。
时间: 2024-10-24 15:15:18 浏览: 15
SG滤波器程序相关.rar_SG matlab_SG滤波_SG滤波器_SG滤波器的一个应用_差分吸收
设计一个简单的滑动窗口均值滤波器,我们可以用Python编写一个函数来完成这个任务。假设我们有一个固定大小的窗口,例如5个元素,每次输入一个新的浮点数,我们就把它加入到窗口的开始位置,然后移除窗口的最旧数据,最后计算窗口内所有数据的平均值作为结果。
以下是基本的步骤和代码示例:
```python
def sliding_window_filter(window_size):
# 初始化一个空列表存储历史数据
data_history = []
while True:
# 获取用户输入
new_data = float(input("请输入一个浮点数:"))
# 如果窗口已满,弹出最旧的数据
if len(data_history) == window_size:
data_history.pop(0)
# 将新数据添加到历史数据列表末尾
data_history.append(new_data)
# 计算并打印当前窗口的均值
if data_history:
mean = sum(data_history) / len(data_history)
print(f"当前滑动窗口的均值:{mean}")
```
要运行此程序,你需要在一个无限循环环境中,比如通过命令行交互或者控制台脚本。每当有新的输入时,它会更新并显示窗口内的平均值。
阅读全文