Find index where value exceeds threshold
312 ビュー (過去 30 日間)
古いコメントを表示
Dear all,
I want to be able to find indices where values exceed a certain threshold. So if my variable of interest is called 'returns' and is formatted in a t x n matrix, I would like to find all indices in 'returns' that exceed a value X.
I'm working on a project that uses in- and out-of-sample stock returns to check the expediency of my model. Therefore, I don't want to just delete return outliers, but check manually if they make sense.
Thanks in advance.
0 件のコメント
回答 (2 件)
Andrew Reibold
2014 年 8 月 7 日
編集済み: Andrew Reibold
2014 年 8 月 7 日
This should answer your problem! :-)
idx = find(returns > X)
Now if you have an MxN matrix, the idx returned is the single index number as if you concatenated all the rows.
Do you need help turning it into two index numbers? I can do that too.
4 件のコメント
Image Analyst
2018 年 2 月 11 日
No. Use tic and toc to time it and you'll see it's plenty fast enough for you.
Image Analyst
2014 年 8 月 7 日
Look at this simple example:
m=magic(4) % Sample data
linearIndexes = find(m>8) % Find elements with value more than 8
[rows, columns] = ind2sub(size(m), linearIndexes)
In the command window:
m =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
linearIndexes =
1
3
6
8
10
12
13
15
rows =
1
3
2
4
2
4
1
3
columns =
1
1
2
2
3
3
4
4
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!