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

1 visualización (últimos 30 días)
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!

Respuesta aceptada

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

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by