delete rows in a cell array
古いコメントを表示
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.
採用された回答
その他の回答 (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 件のコメント
Anastasia Anastasiadou
2019 年 1 月 29 日
madhan ravi
2019 年 1 月 29 日
you mean if there is any zero in the row you want to delete it?
Anastasia Anastasiadou
2019 年 1 月 29 日
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,:);
Anastasia Anastasiadou
2019 年 1 月 29 日
KSSV
2019 年 1 月 29 日
Let A be your matrix with size (m,n)
idx = A==0 ;
A(sum(A,2)~=n,:) = [] ;
2 件のコメント
madhan ravi
2019 年 1 月 29 日
? OP has mentioned it’s a cell array not a matrix.
Anastasia Anastasiadou
2019 年 1 月 29 日
カテゴリ
ヘルプ センター および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
