Filtering the contents of an array

16 次查看(过去 30 天)
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);

采纳的回答

madhan ravi
madhan ravi 2020-7-10
filtered = Z(A, :)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by