find array indices of minimum value in a 2Darray

I have a 2d array with a minimum vakue of 50
How do I find the array indices for this value?

回答 (2 件)

Walter Roberson
Walter Roberson 2021 年 1 月 31 日

0 投票

[r, c] = find(A==min(A, [], 'all');

5 件のコメント

Charles Mistretta
Charles Mistretta 2021 年 1 月 31 日
thanks walter that works Chuck
Walter Roberson
Walter Roberson 2021 年 1 月 31 日
Note: this was specifically coded to be able to find multiple copies if the min is duplicated. If the min is unique then
[~, linearidx] = min(A(:));
[r,c] = ind2sub(size(A), linearidx);
This takes more lines but less processing time, as it does not need to scan the array twice.
Charles Mistretta
Charles Mistretta 2021 年 1 月 31 日
can this be extended to find the coordinates of a 3D array
Walter Roberson
Walter Roberson 2021 年 1 月 31 日
[~, linearidx] = min(A(:));
[r,c,p] = ind2sub(size(A), linearidx);
Charles Mistretta
Charles Mistretta 2021 年 1 月 31 日
thanks much i will try this

サインインしてコメントする。

Charles Mistretta
Charles Mistretta 2021 年 2 月 2 日

0 投票

really appreciate Walters response - very helpful

カテゴリ

ヘルプ センター および File ExchangeDates and Time についてさらに検索

タグ

質問済み:

2021 年 1 月 31 日

回答済み:

2021 年 2 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by