帮我用matlab写一个窗口长度为6的滑动平均函数
时间: 2024-09-22 08:09:20 浏览: 41
滑动窗口生成样本MATLAB程序
5星 · 资源好评率100%
在MATLAB中,你可以使用内置的`movmean`函数或者自定义循环来计算滑动平均。这里是一个简单的例子,展示如何创建一个窗口长度为6的滑动平均函数:
```matlab
function smoothed_data = sliding_average(data, window_size)
% 检查窗口大小是否为正整数
if ~isnumeric(window_size) || window_size <= 0 || mod(window_size, 1) ~= 0
error('Window size must be a positive integer.');
end
% 使用内置的movmean函数
smoothed_data = movmean(data, window_size);
end
% 示例用法
data = randn(100); % 生成一组随机数据
window_size = 6; % 设置滑动窗口长度
smoothed_data = sliding_average(data, window_size);
% 可视化原始数据和滑动平均结果
plot(data, 'b', 'LineWidth', 1.5);
hold on;
plot(smoothed_data, 'r', 'LineWidth', 1.5);
title('Sliding Average with Window Size 6');
xlabel('Index');
ylabel('Value');
legend('Original Data', 'Sliding Average');
hold off;
```
这个函数接受一个输入向量`data`和一个窗口大小`window_size`,返回一个新的向量,其中每个元素都是原数据序列按照指定窗口长度的移动平均值。
阅读全文