Borrar filtros
Borrar filtros

Selecting only some rows of a matrix

2 visualizaciones (últimos 30 días)
MRC
MRC el 12 de Dic. de 2013
Respondida: Andrei Bobrov el 12 de Dic. de 2013
Hi, I have a matrix A mxn and I want to select only some of its rows satisfying this criterion: A(i,1)<=1e-03 && A(i,1)>=-1e-03 && A(i,2)<=1e-03 A(i,2)>=-1e-03 && A(i,3:end)<= 1e-03. I can't use loops.
Could you help me? Thanks

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 12 de Dic. de 2013
idx=A(:,1)<=1e-03 & A(:,1)>=-1e-03 & A(:,2)<=1e-03 & A(:,2)>=-1e-03 & all(A(:,3:end)<= 1e-03,2)
B=A(idx,:)

Más respuestas (2)

Simon
Simon el 12 de Dic. de 2013
Editada: Simon el 12 de Dic. de 2013
Hi!
So, what is "i"? Did you mean ":"? I assume ":" here.
Start by looking at the first criterion, you can write
crit1 = A(:, 1) <= 1e-3;
This will give you a logical vector. Do the same with the other criterions and combine them.
Hint: For the last criterion the function "all" is useful.

Andrei Bobrov
Andrei Bobrov el 12 de Dic. de 2013
A(all(A(:,1:2) >= -1e-3,2) & all(A <= 1e-3,2),:)

Categorías

Más información sobre Oceanography and Hydrology 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