Get row and column of the closest value of a matrix from a variable
6 ビュー (過去 30 日間)
I have a latitude vector of dimensions 17 x 1. I have a latitude matrix of dimension 300 x 300.
I would like to find the row and column of the closest value of the matrix for each one of the vector's values. I tried several codes but none of them are working.
How can I solve this problem ?
Thanks in advance !
回答 (1 件)
Adam 2020 年 3 月 10 日
編集済み: Adam 2020 年 3 月 10 日
If you are using an up to date version of Matlab (scanning the release notes I think R2019a or later for the particular syntax of min used here) this should work, although I don't have time to fully test it:
a = rand(17,1);
b = rand(300);
[~, idx] = min( abs( b - reshape( a, 1, 1,  ) ), , [1 2], 'linear' );
[row,col] = ind2sub( [300, 300], squeeze( idx ) );