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 个评论

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"

请先登录,再进行评论。

回答(1 个)

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

4 个评论

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

请先登录,再进行评论。

类别

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by