Borrar filtros
Borrar filtros

how do i make a for loop picking out adjacent values of an 2D array

4 visualizaciones (últimos 30 días)
For example
I have the matrix
A= [1 3 4 7 3;
5 4 3 7 2;
9 8 6 5 2;
9 6 3 1 6;
2 9 6 8 5]
My current position is at A(3,3) which is equal to 6. How do I make a loop that will pick out the minimum adjacent values of 6 which are [7 5 1]

Respuesta aceptada

Image Analyst
Image Analyst el 8 de Sept. de 2017
Assuming you actually meant [7; 5; 1] instead of [7 5 1], you can get the three elements in the column to the right of some specified element like this:
A = [1 3 4 7 3;
5 4 3 7 2;
9 8 6 5 2;
9 6 3 1 6;
2 9 6 8 5]
row = 3; % Whatever...
col = 3;
output = A(row-1:row+1, col+1)
  1 comentario
Image Analyst
Image Analyst el 8 de Sept. de 2017
You'd have to check the rows and columns to make sure they are not outside the array. Here is how to check the row:
row1 = max(1, row-1);
row2 = min(size(A, 1), row);
output = A(row1:row2, col+1)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Sparse Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by