MATLAB: Erase rows of a cell based on a condition

cell arrayconditionerasenew variable

I have a cell array with 20 000 rows (A – numbers are not repeated) and 17 columns (years). In the example below I only present 6 columns and 5 rows.
CA:
A 1997 1999 2000 2001 2002
13 189 189 39 39 39
16 183 183 183 183 183
18 76 76 76 76 28
22 [] [] [] [] 123
25 [] [] [] [] []ยด
I am trying to erase the rows that do not present at least two consecutive values. And in case the value changes , to get a new variable only with these specific rows.
CA:
A 1997 1999 2000 2001 2002
13 189 189 39 39 39
16 183 183 183 183 183
18 76 76 76 76 28
NEW:
A 1997 1999 2000 2001 2002
13 189 189 39 39 39

Best Answer

To get CA
A ={ ' A' 1997 1999 2000 2001 2002
13 189 189 39 39 39
16 183 183 183 183 183
18 76 76 76 76 28
22 [] [] [] [] 123
25 [] [] [] [] []}
B=A(2:end,:);
idx=~cellfun(@isempty,B)
B(arrayfun(@(x) isempty(strfind(idx(x,:),[1 1])),1:size(idx,1)),:)=[]
CA=[A(1,:) ;B]
It's not clear how did you get NEW