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

조회 수: 2(최근 30일)
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.

답변(1개)

Jan
Jan 2018년 7월 27일
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
Andrew Poissant
Andrew Poissant 2018년 7월 27일
편집: Andrew Poissant 2018년 7월 27일
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.

댓글을 달려면 로그인하십시오.

범주

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by