Deleting rows in Matlab

I have a large column vector (col1) I have the following code:
notcontacts=(col1(:,1)>600);
col1=col1.*notcontacts
Now I want to to delete all of the zeros that are in the column of data so i have the following (col2) which is only made up of the values that are greater than less than 600.

3 commentaires

Oleg Komarov
Oleg Komarov le 9 Mai 2012
Not very clear, so do you want values which are not 600? (greater and less...)
charles atlas
charles atlas le 9 Mai 2012
I am sorry, typo... I want a column (col2) of numbers that are less than 600. Ex:
col1=[0 0 456 245]
then after column manipulation I want:
col2=[456 245]
charles atlas
charles atlas le 9 Mai 2012
I meant to say less than 600 not "greater than less than"

Connectez-vous pour commenter.

Réponses (1)

Oleg Komarov
Oleg Komarov le 9 Mai 2012

0 votes

EDITED
idx = idx = col1(:,1) < 600 & col1(:,1) ~= 0;
col2 = col1(idx, 1);

4 commentaires

Richard Brown
Richard Brown le 9 Mai 2012
urgh, this question illustrates how bad this code font is! we can't tell the difference between col1, co11, and coll!
Geoff
Geoff le 10 Mai 2012
That's odd... It renders okay in Firefox on Windows. Using some kind of courier-based font. But I'm sitting rather close to a biggish screen.
Geoff
Geoff le 10 Mai 2012
@Oleg : You forgot the removal of zeros:
idx = col1(:,1) < 600 & col1(:,1) ~= 0;
Oleg Komarov
Oleg Komarov le 10 Mai 2012
Thanks Geoff, amended.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Startup and Shutdown dans Centre d'aide et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by