Filter löschen
Filter löschen

how to check if two arrays intersect within a matrix?

3 Ansichten (letzte 30 Tage)
roshan varkey
roshan varkey am 7 Dez. 2013
Kommentiert: Image Analyst am 8 Dez. 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.....

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by