Finding a maximum period
古いコメントを表示
Hey Guys,
I'm trying to wrap my brain around how to find n maximum or minimum values in a row. I've used grpstats to generate mean values, but need to find the three highest or lowest in a row, so I can't use a sort function:
[m, g]=grpstats(data(:, 2), data(:, 1), {'mean', 'gname'})
m =
16.4605
19.6645
19.0127
20.0246
21.0003
20.0367
15.7379
22.7125
19.9485
20.4098
21.6320
17.6872
g =
'1'
'2'
'3'
'4'
'5'
'6'
'7'
'8'
'9'
'10'
'11'
'12'
Any ideas or functions to suggest? Thanks and all the best.
2 件のコメント
Walter Roberson
2017 年 1 月 18 日
Are you looking for a moving maximum, where every point is replaced by the maximum of the point and the point before and the next point? Are you looking for a single group of three values in a row that has the highest average out of all of the sliding possibilities?
Kate
2017 年 1 月 18 日
採用された回答
その他の回答 (1 件)
Alexandra Harkai
2017 年 1 月 18 日
If you're looking for the n highest and lowest entry for each row of input data, you can still use the sort function:
[sorted, row_idx] = sort(data, 2);
sorted will contain the sorted data, row_idx will contain the row-wise indices, so:
sorted(:,1:n) % n smallest elements in each row
sorted(:,(end+1-n):end) % n largest elements in each row
row_idx(1,1:n) % indices in rows for the n smallest elements in each row
row_idx(1,(end+1-n):end) % indices in rows for the n largest elements in each row
1 件のコメント
カテゴリ
ヘルプ センター および File Exchange で Repeated Measures and MANOVA についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!