Check if one cell is comprised in other cells of an array?

2 Ansichten (letzte 30 Tage)
Andrew Poissant
Andrew Poissant am 27 Jul. 2018
Bearbeitet: Andrew Poissant am 27 Jul. 2018
I have a variable, var (see attached .mat file), that is a 1x7 cell array. It has the following cells: {766×2 double} {766×2 double} {766×2 double} {766×2 double} {766×2 double} {766×2 double} {766×2 double}.
I want to see if each row of a cell is comprised in another one of the cells in the array. If every single row of a cell is comprised in any of the other cells, then delete that cell. How would I do that? For example, if each row in the first {722x2 double} cell is comprised in any of the other six {766x2}, then delete the first cell.

Antworten (1)

Jan
Jan am 27 Jul. 2018
Use ismember('rows') and a loop:
found = true;
for k = 2:7
found = found & ismember(v{1}, v{k}, 'rows');
end
v{1} = v{1}(~found);
  1 Kommentar
Andrew Poissant
Andrew Poissant am 27 Jul. 2018
Bearbeitet: Andrew Poissant am 27 Jul. 2018
how would I generalize this procedure to apply it to the other 6 cells in the array? Also, when I try this with my cell array I uploaded, all it is doing is deleting a row of cell one and some of the columns? What I am looking for is if every row in a cell is shared in any of the other cells in the array, then delete that cell from the array.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Cell 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