how do you eliminate rows of a matrix?
2 次查看(过去 30 天)
显示 更早的评论
I have a 100x2 matrix of random values and i need to remove any row that has a negative value in it. I originally changed all the positive values to 1 and negative values to 0 by setting the matrix to be > 0, just a bit lost on how to delete the rows with a zero (negative value).
Thanks in advance
0 个评论
回答(2 个)
the cyclist
2015-5-1
% Some pretend data
A = rand(100,2);
% Identify row with negative values
idx = any(A<0,2);
% Remove them
A(idx,:) = [];
0 个评论
Star Strider
2015-5-1
One possibility:
d = randi(50, 100, 2)-10; % Original Random Matrix
ds = d; % Check Original Matrix
d(any(d<0,2),:) = []; % Rmeove Negative Element Rows
The ‘ds’ assignment preserves ‘d’ so you can check to see that the routine works. It is not necessary for the code.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!