Averaging every element with nearby elements
Show older comments
I want to average each element of an m by n matrix with surrounding w elements, for example, if w = 1, the element would be the mean of the 3x3 submatrix with the element in the middle, i.e, if the matrix is
a = [1:10;2:11;3:12;4:13;5:14;6:15;7:16]
and w = 1, each element would be average of nearby eight elements and itself.
I tried using 3 loops, i = 1:w, 1 = w+1:end-w, i = end-w+1:end, but there must be a quicker way to do this.
3 Comments
madhan ravi
on 13 Feb 2019
Write your expected output explicitly.
Perturabo
on 13 Feb 2019
John D'Errico
on 13 Feb 2019
I don't think you were that careful in how you computed your example. Or if you were, then you need to explain far better what you want.
Accepted Answer
More Answers (1)
KSSV
on 13 Feb 2019
0 votes
Read about knnsearch. With this you can get your desired number of nearest neighbors indices.....with the indices you can get your mean.
Categories
Find more on Resizing and Reshaping Matrices 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!