Write out rows which have cell with specific value from large array in MATLAB

1 次查看(过去 30 天)
I am reading in data from a large array (~50000 x 45). I am trying to extract rows from this which have their x_value (column 27) above a specific value (1.8 in this case).
I am able to write the array (p1) but each output row is the same, (the last row from the large array with x > 1.8)
Can anybody tell me how to write out this data properly?
Thanks
n = length(DAT);
bin = 1.8;
x_value = DAT(:,27);
row = sum(x_value > bin);
for s = 1:n;
if DAT(s,27) > bin
for r = 1:row;
p1(r,:) = DAT(s,:);
end
end
end

回答(1 个)

Matt J
Matt J 2013-3-13
编辑:Matt J 2013-3-13
Make life easier on yourself with vectorized one-liners
p1=DAT(:,DAT(:,27) > bin);

类别

Help CenterFile Exchange 中查找有关 Matrices and Arrays 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by