Converting a the result vector from logical indexing into a matrix possible or unnescesary?

Hello everyone,
I need to extract rows of a matrix with a certain value in one column. At the moment I am using logical indexing i this way:
c=A(:,2)==3; T=A([c,c,c,c]);
The problem I have is that T is a vector, with the columns added end to end, but I need it as a matrix.
Does Matlab provide an easy way to convert such a vector to a matrix or is there another easy way to extract the rows into a matrix?
Thank you everybody.

 Réponse acceptée

T = A(A(:,2) == 3,:);

2 commentaires

Sorry doesn't work. I get
T =
Empty matrix: 0-by-10
as a result.
Thanks anyway.
Works like a charm, if i use the correct data. Thanks again.

Connectez-vous pour commenter.

Plus de réponses (1)

Often, you get some insight when you remove the semi-colons
A = [1 2 3 4 ; 11 3 13 14 ;21 22 23 24 ; 41 3 43 44] % example data
c = A(:,2)==3
T = A(c,:)
if T is empty, there are simply no rows that have a value of 3 in the second column.

1 commentaire

Sorry was using the wrong matrix. The first answer works just fine. To much data and I lost track of what is what. Thanks to both of you.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by