我有一个数据序列。所以我想绘制由于窗口长度滑动窗口内的数据。 请帮助我。如何在matlab上创建信号滑动窗口
其实数据来自帧的均值和方差。所以我想绘制滑动窗口内的均值和方差。另外我不能在Matlab上创建滑动窗口。
我有一个数据序列。所以我想绘制由于窗口长度滑动窗口内的数据。 请帮助我。如何在matlab上创建信号滑动窗口
其实数据来自帧的均值和方差。所以我想绘制滑动窗口内的均值和方差。另外我不能在Matlab上创建滑动窗口。
所以,如果我正确理解你,你想改变x轴限制的情节。使用xlim
的,例如:
a=1:10;
plot(a)
xmin = 5;
xmax = 7.6;
xlim([xmin xmax])
,或者如果你想有一个固定的大小,你可以xlim([xmin xmin+window])
等等
我的做法将是一个窗口,
a = randi(100,[1,50]); % My sequence
win_width = 10; %Sliding window width
slide_incr = 1; %Slide for each iteration
numstps = (length(a)-win_width)/slide_incr; %Number of windows
for i = 1:numstps
mean_win(i) = mean(a(i:i+win_width)); %Calculation for each window
end
plot(mean_win)
有可能做更好的方法..
仅供参考,您可以通过'mean_win = conv(a,ones(1,win_width)/ win_width)计算没有循环的平均值,但这不是OP想要的(请参阅其他答案的评论) – bla 2013-02-15 09:16:37
对于我所检查的,numstps应该加1,for循环中的win_width应该减1。有人可以确认吗? – 2013-08-28 15:08:57
这就是我一直这样做(从2滑动窗口代码改编)。你可以计算出你想要的平均值和方差。
T = 25; % Window Size
K = size(data,1) - T; % Number of repetitions
for i = 1:K
window = data(i:i+T-1,:);
% Mean and Variance Calculations here
% Plotting here
% call 'drawnow' for incremental plotting (animation)
end
是你的信号1D还是2D? – bla 2013-02-15 08:17:48
1D平均值和方差来自图像帧,所以我一个接一个地绘制, – Binja 2013-02-15 08:20:53
术语滑动窗口是误导性的,而OP只想显示\处理他已有的部分数据,即不需要计算。 – bla 2013-02-15 09:00:53