use logical indexing to access multiple lines syntax

1 回表示 (過去 30 日間)
Hew McKean
Hew McKean 2018 年 9 月 28 日
コメント済み: Hew McKean 2018 年 9 月 28 日
Still a noob, I try to make my questions coherent... glad to learn
I have a multi-column matrix p552r1_tnL (14918x44 double)
In the second column, I want to find the highest values, so I did this...
>> p = (p552r1_tnL(:,2))>0.85*max(p552r1_tnL(:,2));
>> sum(p)
% sum(p) is 40 so getting the highest 40 values is a good start... so that gets my matrix way down,
now I just want to get the values in the first three columns of p552r1 based on that logical matrix... I can get it to give me a single column, but can't work out how to get multiple...
p552r1kmeans = p552r1_tnL(p); %ok, so it gets me one column
So I've tried
p552r1kmeans (:,1:3)= p552r1_tnL(p); %Error: matrix sides don't match
p552r1kmeans (:,1:3)= p552r1_tnL(:,1:3)(p); %Error: ()-indexing must appear last in an indexing expression, which I don't get since (p) is last
Thank you for the help : )

採用された回答

Fangjun Jiang
Fangjun Jiang 2018 年 9 月 28 日
temp=p552r1_tnL(p,1:3)

その他の回答 (1 件)

Dennis
Dennis 2018 年 9 月 28 日
Almost there ;) in p you have the row positions:
p552r1kmeans=p552r1_tnL(p,1:3)

カテゴリ

Help Center および File ExchangeNaNs についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by