如何在matlab上创建信号滑动窗口

时间:2013-02-15 08:12:45

标签: matlab

我有一系列数据。所以我想根据窗口长度在滑动窗口内绘制数据。 请帮帮我。

实际上数据来自帧的均值和方差。所以我想绘制滑动窗口内的均值和方差。我也无法在Matlab上创建滑动窗口。

3 个答案:

答案 0 :(得分:3)

我的方法是,

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)

可能有更好的方法。

答案 1 :(得分:2)

这就是我一直以来的做法(改编自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

答案 2 :(得分:1)

因此,如果我理解正确,您想要更改绘图的 x轴限制。请使用xlim,例如:

 a=1:10;
 plot(a)
 xmin = 5;
 xmax = 7.6;
 xlim([xmin xmax])

或者如果你想要一个恒定大小的窗口,你可以xlim([xmin xmin+window])等......