selecting submatrix of like elements

1 visualización (últimos 30 días)
Bahar
Bahar el 25 de Abr. de 2014
Comentada: Bahar el 26 de Abr. de 2014
I need to be able to search a matrix for a submatrix of like elements and then manipulate that group of like elements. For example:
A= [0 0 0 0 0; 0 1 1 0 0; 0 1 1 0 0; 0 0 0 0]
I would like to be able to get at
B= [1 1, 1 1]
and then I would like to randomly move B within A.
The purpose of this is to make a quick demo where I get some tiles to conditionally stick together during a random walk and form larger structures which in turn rotate and move randomly.

Respuestas (1)

Walter Roberson
Walter Roberson el 25 de Abr. de 2014
Are the values integers? If so then using the image processing toolbox would possibly be easiest. You can use bwlabel() to find the "islands" in flexible ways, using 4-connection (must be left or right, or up or down) or 8-connection (diagonals allowed) or other custom rules. regionprops() can then give you information about the blobs including lists of coordinates.
  1 comentario
Bahar
Bahar el 26 de Abr. de 2014
Thank you - this was actually very helpful. I can now find and move the 'islands' in my matrix. Unfortunately, the only way I can move them is 'element by element' which causes them to come apart if they hit some obstruction (as a move isnt legal unless the spot its going to is 0).
You dont happen to know of any way to move like numbers as a unit?

Iniciar sesión para comentar.

Categorías

Más información sobre Denoising and Compression 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!

Translated by