how to check if two arrays intersect within a matrix?

2 visualizaciones (últimos 30 días)
roshan varkey
roshan varkey el 7 de Dic. de 2013
Comentada: Image Analyst el 8 de Dic. de 2013
i have a 10x10 matrix of zeros.
three ships called destroyer,aircraft_carrier and cruiser:
destroyer=[2,2] %placed either vertically or horizontally within the matrix
cruiser=[4,4,4,4]%placed either vertically or horizontally within the matrix
aircraft_carrier=[5,5,5,5,5] %placed either vertically or horizontally within the matrix
i wrote the code so that the ships are placed randomly and also in a random alignment,vertical or horizontal.i want to check weather they intersect with each other so i can write code to prevent it.
i tried using intersect(a,b) command but it gave me back an empty matrix even when the point where intersecting..i dont know what i am doing wrong or if there is some other command to help me do this.....

Respuesta aceptada

Image Analyst
Image Analyst el 7 de Dic. de 2013
Editada: Image Analyst el 7 de Dic. de 2013
Try this:
blankElements = (matrix1 == 0) & (matrix2 == 0);
matrixIntersections = (matrix1 ~= matrix2) & ~blankElements;
  4 comentarios
Image Analyst
Image Analyst el 8 de Dic. de 2013
roshan's 'Answer' moved here:
Brilliant! thank you very much!
Image Analyst
Image Analyst el 8 de Dic. de 2013
OK, if we're done, then please go ahead and mark it Accepted.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Logical 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