how to delete a row in a cell array
2 次查看(过去 30 天)
显示 更早的评论
Hi I am trying to delete rows depending on the two lowests rows in a column...
A = {'rowcount' 'one' 'two' 'three'; 'rowone' [1] [2] [3]; 'rowtwo' [10] [11] [12]; 'rowthree' [7] [8] [9]; 'rowfour' [4] [5] [6];}
based on the third column, I want to delete the lowest two rows and return this
B = {'rowcount' 'one' 'two' 'three'; 'rowtwo' [10] [11] [12]; 'rowthree' [7] [8] [9];}
0 个评论
回答(2 个)
Image Analyst
2020-7-4
Since your question is ambiguous, I've done it for you both ways:
A = {'rowcount' 'one' 'two' 'three'; 'rowone' [1] [2] [3]; 'rowtwo' [10] [11] [12]; 'rowthree' [7] [8] [9]; 'rowfour' [4] [5] [6];}
B = {'rowcount' 'one' 'two' 'three'; 'rowtwo' [10] [11] [12]; 'rowthree' [7] [8] [9];}
% Remove rows based on 2 lowest values in column 3 (like you said)
col3 = [A{2:end, 3}];
[sortedCol3, sortOrder] = sort(col3, 'ascend');
B = A; % Initialize
B(sortOrder(3:end),:) = [] % Remove rows 2 and 5 by setting them to null.
% Remove rows based on 2 lowest values in column 4
% (like you showed in your example, contrary to what you said.)
col4 = [A{2:end, 4}];
[sortedCol4, sortOrder] = sort(col4, 'ascend');
B = A; % Initialize
B(sortOrder(3:end),:) = [] % Remove rows 2 and 5 by setting them to null.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Encryption / Cryptography 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!