Filtering the contents of an array

I have an array 'Z' with 'n' rows and 3 columns as a result of 'n' iterations. I need to filter the array based on the third column and store the values in a separate array.
I tried to use create a logical array with condition but then it gave me only a single column. So, I used concatenation to get a nx3 array and then I used element wise multiplication to remove all the unwanted values. But still, I have an nx3 array with rows of zeros inbetween that I need to eliminate. How should I proceed? I am stuck with logical arrays and array multiplications.
A = Z(:,3) >= R_val;
B = cat(2,A,A,A);
C = Z.*B;
PS: I tried using the logical array as array index but it yields a column vector nullifies the total relationship between the rows. So, that doesn't work.
C = Z(B);

 Accepted Answer

filtered = Z(A, :)

1 Comment

Thanks. I didn't expect it to be that simple.

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2020a

Asked:

on 10 Jul 2020

Commented:

on 10 Jul 2020

Community Treasure Hunt

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

Start Hunting!