Filtering the contents of an array

92 views (last 30 days)
Gekkouga on 10 Jul 2020
Commented: Gekkouga on 10 Jul 2020
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

madhan ravi
madhan ravi on 10 Jul 2020
filtered = Z(A, :)
  1 Comment
Gekkouga on 10 Jul 2020
Thanks. I didn't expect it to be that simple.

Sign in to comment.

More Answers (0)




Community Treasure Hunt

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

Start Hunting!

Translated by