sliding window and keeping as a vector

I have D-1 data of points 1-500 I would like to slide this data to have 20points in each window and be as a vector [123...20, 21...40 ect] I was trying to do it but it is showing a matrix (20x25) I am new to matlab anyone could help me please?

回答(1 个)

How about
array2D = reshape(data, [20,25]);
Is that what you meant and want?

9 个评论

I would like to divide this 500 points into windows where I have first 20 points then another 20 points...and another (stored as a vectors) that I could make other operation on the data later (like what is an average of each bin of this 20 points, medians )
So:
median(array2D,2)
Start with something simple, data = 1:6 , and build from there. reshape and transpose (.') will be your friends
Nessa, if you have the Image Processing Toolbox, look at blockproc() which will let you apply some function/operation to a vector or image in "jumps" of 20. I.e. the window slides along in jumps of 20 pixels (or whatever you specify) rather than one element at a time. Though you could also process array2D row by row.
thank you, what I did is reshape(data,20,[]); and that is showing me is a matrix instead of vector :(
and Ive read online that there is a way of sliding windows data into n-samples and keep it as a vector not as a matrix.
Well you said you were starting with a vector, so what's the problem? It's already a vector. What operation do you want to do? Moving average, moving mean, some custom linear filter, some highly customized set of operations you've encapsulated into a custom function? What?
Nessa's "Answer" moved here:
calculate an average from each 20 points and further 20 points up to 500
Try this:
data = randi(9, 1, 500); % Sample data
array2D = reshape(data, [20, 25]);
means = mean(array2D, 1)
You're welcome. If we're done, then can you please mark the answer as "Accepted"? Thanks.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by