How to delete a row of a matrix if value in a particular column is less than a specified value?

23 views (last 30 days)
say I have a 3x4 matrix
data = [5 1 200 33; 3 0.5 100 33; 4.5 1.5 150 33]
I want to delete the entire row if the value in 1st column is less than 4.
it should return a 2x4 matrix looking like the following:
datanew = [5 1 200 33; 4.5 1.5 150 33]
I am going to apply this to a much larger matrix, like 10000x4 size, and think a loop is the way to go, but I am unsure on how to go about it.
Thanks Bob

Accepted Answer

John Chilleri
John Chilleri on 20 Feb 2017
Edited: John Chilleri on 20 Feb 2017
Hello,
You can use this one liner,
datanew = data(data(:,1)>=4,:);
However, I chose to reverse the logic here, so instead of less than 4, you should write greater than or equal to (it's selecting the ones to keep).
Also, the data(:,1) is using the first column (just to be clear).
Hope this helps!

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by