Help doing the average between successive (1,2) cells of two different arrays?
3 views (last 30 days)
Show older comments
Hi! I have a (250,2) array and i divide that array in two array: one contains the even rows and the other the odd rows. Those coordinates are points and i want to find the mid point of those two points(the odd one and the even one, between 1 and 2, then between 2 and 3, then between 3 and 4, and so on...) Is there a way to do this?
Thank you very much
0 Comments
Accepted Answer
Image Analyst
on 30 Mar 2014
Edited: Image Analyst
on 30 Mar 2014
Try this:
a = rand(250, 2); % Sample data
% Make kernel to do the averaging.
kernel = [1;1]/2;
% Make every row of b the average or two adjacent rows of a.
b = conv2(a, kernel, 'valid')
It give you exactly what you're asking for. With your example data:
a =
4 3
2 2
3 3
4 2
b =
3 2.5
2.5 2.5
3.5 2.5
0 Comments
More Answers (1)
Azzi Abdelmalek
on 30 Mar 2014
Edited: Azzi Abdelmalek
on 30 Mar 2014
a=rand(250,2)
a1=a(1:2:end,:);
a2=a(2:2:end,:);
b=(a2+a1)/2
4 Comments
Azzi Abdelmalek
on 30 Mar 2014
Edited: Azzi Abdelmalek
on 30 Mar 2014
I think you need this
a =[ 4 3
2 2
3 3
4 2]
a1=a(1:end-1,:)
a2=a(2:end,:,:)
b=(a1+a2)/2
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!