How to remove rows based on logical values in one column?

34 views (last 30 days)
In my file I have 3 columns with many rows. One of the columns has 0/1 logical vlaues, I was wondering if there is command to remove all the rows associated with value 0 and keep all the one that are 1?

Answers (2)

madhan ravi
madhan ravi on 3 Oct 2020
T = table2array(readtable('73(4)_interval.xlsx'));
T(any(T==0, 2), : ) = []

Image Analyst
Image Analyst on 3 Oct 2020
Let's say column 2 is the one you want to inspect, and data is your matrix. Then you can do
data = readmatrix(filename);
goodRows = logical(data(:, 2)); % Get column 2.
data = data(goodRows, :); % Take only rows where column 2 is 1.
Just basic MATLAB vectorization.


Find more on Numerical Integration and Differential Equations in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!

Translated by