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 Comments

Not very clear, so do you want values which are not 600? (greater and less...)
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]
I meant to say less than 600 not "greater than less than"

Sign in to comment.

Answers (1)

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

4 Comments

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

Sign in to comment.

Categories

Products

Asked:

on 9 May 2012

Community Treasure Hunt

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

Start Hunting!