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

2 vues (au cours des 30 derniers jours)
John
John le 13 Mar 2013
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

Réponses (1)

Matt J
Matt J le 13 Mar 2013
Modifié(e) : Matt J le 13 Mar 2013
Make life easier on yourself with vectorized one-liners
p1=DAT(:,DAT(:,27) > bin);

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by