how do I average each 10 elements of a matrix?
8 次查看(过去 30 天)
显示 更早的评论
Hi,
I have an 80x1 vector and I need to average every 10 elements from first and save them to a new vector. do you have any suggestions except for the loop? (average of first 10 elements, an average of second 10 elements, ...). thank you.
0 个评论
采纳的回答
Walter Roberson
2021-4-21
mean10 = mean(reshape(Vector, 10, []),1)
3 个评论
Walter Roberson
2021-4-21
frame_length = 10;
Veclen = length(Vector);
num_frame = floor(Veclen/frame_length);
num_extra = Veclen - num_frame * frame_length;
frame_means = [mean(reshape(Vector(1:end-num_extra), frame_length, []),1), mean(Vector(end-num_extra+1:end)]
This code is designed so that if there are left over samples at the end, then it takes the mean of what exists.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!