delete rows in a cell array
조회 수: 1 (최근 30일)
이전 댓글 표시
having a cell array containing in 1st column a name of a country and in next column values, how can I delete rows containing 1 or more zeros values?
댓글 수: 1
Stephen23
2019년 1월 29일
@Anastasia Anastasiadou: please upload your data in a .mat file by clicking the paperclip button.
채택된 답변
madhan ravi
2019년 1월 29일
편집: madhan ravi
2019년 1월 29일
C={'country1' 11 33 55 40
'country2' 22 0 0 0
'country3' 58 44 55 5 };
idx=cellfun(@all,C,'un',0);
C(~all(cell2mat(idx),2),:)=[]
댓글 수: 10
madhan ravi
2019년 1월 29일
편집: madhan ravi
2019년 1월 29일
Help us to help you! , that's why we ask you to upload the required files at he very beginning when you ask a question so that a fast solution can be provided.
추가 답변 (2개)
Omer Yasin Birey
2019년 1월 29일
편집: Omer Yasin Birey
2019년 1월 29일
Lets say your cell array's variable name is 'a'
a = a(all(cellfun(@(x)x~=0,a),2),:);
댓글 수: 5
Omer Yasin Birey
2019년 1월 29일
That should work
remZeros = a(all(cellfun(@(x)x~=0,a),2),:);
remZeros(2:end+1,:) = remZeros(1:end,:);
remZeros(1,:) = a(1,:);
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!