Counting the number of elements surrounding another element.
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Phillip Smith
el 25 de Nov. de 2019
Editada: Andrei Bobrov
el 27 de Nov. de 2019
Hello,
I've created a matrix and have I randomly set one of these matrix elements equal to 1. Now I want to count how many elements are neighbouring it, I am taking into account diagonal neighbours too i.e. a fully surrounded element will have 8 neighbours etc.
Many thanks,
Phill
2 comentarios
Adam
el 25 de Nov. de 2019
Just determine if it is on an edge (5 neighbours) or a corner (3 neighbours) and if not then as you say, it has 8 neighbours. No need to count them.
Respuesta aceptada
Turlough Hughes
el 25 de Nov. de 2019
If your matrix is called A. You could find the number of 0's surrounding an element at A(m,n) as follows:
D=padarray(A,[1 1],1,'both');
numberzeros=nnz(~D(m:m+2,n:n+2));
Más respuestas (1)
Andrei Bobrov
el 25 de Nov. de 2019
Editada: Andrei Bobrov
el 27 de Nov. de 2019
Let x - your array with ones and zeros:
x = double(rand(10) > .45);
out = conv2(double(~x),[1,1,1;1,0,1;1,1,1],'same');
2 comentarios
Ver también
Categorías
Más información sobre Statistics and Machine Learning Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!