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 Commenti

Oleg Komarov
Oleg Komarov il 9 Mag 2012
Not very clear, so do you want values which are not 600? (greater and less...)
charles atlas
charles atlas il 9 Mag 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 il 9 Mag 2012
I meant to say less than 600 not "greater than less than"

Accedi per commentare.

Risposte (1)

Oleg Komarov
Oleg Komarov il 9 Mag 2012
EDITED
idx = idx = col1(:,1) < 600 & col1(:,1) ~= 0;
col2 = col1(idx, 1);

4 Commenti

Richard Brown
Richard Brown il 9 Mag 2012
urgh, this question illustrates how bad this code font is! we can't tell the difference between col1, co11, and coll!
Geoff
Geoff il 10 Mag 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 il 10 Mag 2012
@Oleg : You forgot the removal of zeros:
idx = col1(:,1) < 600 & col1(:,1) ~= 0;
Oleg Komarov
Oleg Komarov il 10 Mag 2012
Thanks Geoff, amended.

Accedi per commentare.

Prodotti

Richiesto:

il 9 Mag 2012

Community Treasure Hunt

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

Start Hunting!

Translated by