c++滑动平均曲线
时间: 2023-07-01 18:23:44 浏览: 71
滑动平均是一种常见的平滑数据曲线的方法。下面是一个用 C++ 实现滑动平均的示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<float> moving_average(vector<float> data, int window_size) {
vector<float> result;
float sum = 0.0;
for (int i = 0; i < data.size(); i++) {
sum += data[i];
if (i >= window_size) {
sum -= data[i - window_size];
result.push_back(sum / window_size);
}
}
return result;
}
int main() {
vector<float> data = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0};
int window_size = 3;
vector<float> smoothed_data = moving_average(data, window_size);
for (int i = 0; i < smoothed_data.size(); i++) {
cout << smoothed_data[i] << " ";
}
cout << endl;
return 0;
}
```
这个代码实现了一个函数 `moving_average`,它接受一个浮点数类型的数组 `data` 和一个整数类型的参数 `window_size`,返回一个浮点数类型的数组,表示对 `data` 序列进行滑动平均处理后得到的序列。在 `main` 函数中,我们调用了 `moving_average` 函数对给定的数据 `data` 进行滑动平均处理,并输出结果。
相关推荐
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)