How to get nearest values in matrix and save indexes of these values?

1 回表示 (過去 30 日間)
I G
I G 2019 年 5 月 7 日
編集済み: Stephen23 2019 年 5 月 7 日
I have values saved as pi=[5 10 15].
And I have another values saved in puk, which is 401x1 double.
I need to find values in puk which are nearest to the values of pi, and as result I need to have indexes of that values in puk.
So I do not know how to search for nearest values in puk? And how to get indexes of these values?

採用された回答

Stephen23
Stephen23 2019 年 5 月 7 日
編集済み: Stephen23 2019 年 5 月 7 日
>> X = [5,10,15];
>> Y = 0:7/5:30;
>> [~,Z] = min(abs(X-Y(:))) % the indices of the closest values:
Z =
5 8 12
>> Y(Z) % the corresponding values in Y:
ans =
5.6 9.8 15.4
For MATLAB versions before R2016b you will need to use bsxfun:
[~,Z] = min(abs(bsxfun(@minus,X,Y(:))))

その他の回答 (0 件)

カテゴリ

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

製品


リリース

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by