Finding the row index of the closest match to a row vector in an array
5 ビュー (過去 30 日間)
古いコメントを表示
For example
If we are having a row vector : [a b c]
and aray :
[q w e r c;
l v w e a
p w e r t];
Is there any way we can find the row index in the array closest to the defined row vector (matching 1st 3 column values or used defined columns)
0 件のコメント
採用された回答
Jan
2021 年 1 月 27 日
編集済み: Jan
2021 年 1 月 27 日
search = randi([1, 10], 1, 3);
data = randi([1, 10], 10, 4);
dist = vecnorm(data(:, 1:numel(search)) - search, 2, 2); % Auto-expand, >= R2016b
[~, match] = min(dist);
disp(search)
disp(data(match, :))
This uses the Euclidian norm to determine the distance. Maybe you want another norm.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Multidimensional Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!