How to select a column on basis of some conditions on the rows?

1 Ansicht (letzte 30 Tage)
I have a situation where I have a 6x100 matrix like the one below:
x = randn(6,100)
What I would like to do is to write a code that says: for every column in x keep only those columns whose first and second rows have positive entries, while the fourth one has a negative entry. So let's take two representative columns like the ones below:
0.5 0.3
3.1 0.2
0.6 0.6
0.8 -0.9
0.1 -1
0.3 1
The code should exclude the first column and keep the second; this for every column in x.
Can anyone help me with that?
Thanks!

Akzeptierte Antwort

Timo Dietz
Timo Dietz am 18 Nov. 2020
Bearbeitet: Timo Dietz am 18 Nov. 2020
Does this solve your problem?
x = x(:, x(1, :) > 0 & x(2, :) > 0 & x(4, :) < 0)

Weitere Antworten (0)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by