How do I create a vector of the average of consecutive elements of another vector (without using a loop)?
36 views (last 30 days)
Show older comments
Say, I have a vector A=[2 4 6 8 10]. Is there any way I can create a vector of the average of consecutive elements of A, i.e. B=[3 5 7 9] without using a loop? Is there any matlab function to do that? Thanks in advance.
0 Comments
Accepted Answer
Azzi Abdelmalek
on 10 Oct 2013
Edited: Azzi Abdelmalek
on 10 Oct 2013
A=[2 4 6 8 10]
B=mean([A(1:end-1);A(2:end)])
More Answers (2)
Matthew Crema
on 10 Oct 2013
One way:
A=[2 4 6 8 10];
foo = conv([1 1], A)/2;
B = foo(2:end-1)
B =
3 5 7 9
-Matt
5 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!