Separating an array based on row data?

I have an array consisting of 3 columns and 'x' number of rows. Let's call it "Original_Data".
"Original_Data" contains rows where there are values of '0' and I wish to split my array into two new arrays:
  • "Bad_data" will be an array consisting of the original 3 columns from "Original_Data" and all rows from "Original_Data" which contain values of '0'
  • "Good_data" will be an array consisting of the original 3 columns from "Original_Data" and all rows from "Original_Data" which do not contain values of '0'
How would I do this?

回答(1 个)

Data = randi([0,3], 4, 3) % Some Test data
Data = 4×3
1 0 1 0 2 3 0 0 2 2 1 1
good = all(Data, 2); % No zeros in a row
goodData = Data(good, :)
goodData = 1×3
2 1 1
badData = Data(~good, :)
badData = 3×3
1 0 1 0 2 3 0 0 2

类别

帮助中心File Exchange 中查找有关 Cell Arrays 的更多信息

产品

版本

R2021a

提问:

2022-3-15

回答:

Jan
2022-3-15

Community Treasure Hunt

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

Start Hunting!

Translated by