较长时间序列降采样 matlab代码
时间: 2023-11-25 07:08:38 浏览: 62
BP神经网络时间序列预测matlab代码下载(matlab格式数据)
下面是一个简单的 Matlab 代码示例,可以将一个较长的时间序列进行降采样:
```matlab
% 设置采样率和时间间隔
fs = 1000; % 原始采样率
fs_new = 100; % 新的采样率
dt = 1/fs; % 原始时间间隔
dt_new = 1/fs_new; % 新的时间间隔
% 生成一个示例时间序列
t = 0:dt:10; % 时间向量
x = sin(2*pi*10*t) + sin(2*pi*50*t) + randn(size(t));
% 计算降采样后的时间序列
t_new = 0:dt_new:10; % 新时间向量
x_new = interp1(t, x, t_new); % 线性插值
% 绘制原始和降采样后的时间序列
figure;
subplot(211);
plot(t, x);
xlabel('Time (s)');
ylabel('Amplitude');
title('Original Signal');
subplot(212);
plot(t_new, x_new);
xlabel('Time (s)');
ylabel('Amplitude');
title('Downsampled Signal');
```
上述代码中,我们首先设置了原始采样率和时间间隔,然后生成了一个示例时间序列。接着,我们计算了降采样后的时间序列,其中使用了 Matlab 中的 `interp1` 函数进行线性插值。最后,我们绘制了原始和降采样后的时间序列。
阅读全文