簡體   English   中英

使用“最小”功能時如何處理多個最小值

[英]How to deal with multiple minimum values when using “min” function

我正在使用matlab的“最小”函數來確定與數組中的最小值相對應的索引(實際上只是一個矢量)...一切都很好,除了我發現數組中有多個值時共享最小值的函數[C,I] = min(A)僅返回其中一個索引。 實際上,這不是問題,只是它返回的索引並不總是第一個(即最小的)具有最小值的索引。 該文檔說應該是這種情況(因此,如果數組中的條目#4和條目#13具有相同(最小)值,則應返回I = 4),但事實並非如此。

有誰知道如何讓min函數針對數組/向量內的共享最小值返回最小/最低索引? 與此相關的是,誰能解釋為什么該功能表現不正常?

謝謝,

本·穆尼漢姆

如上所述,這些值可能不相同。 考慮

a = [1 2 3 4 2 4 3 1];
b = a;
b(1) = 1+eps; b(end) = 1-eps; % added a small error to the 1st and 8th element
[~,Ia] = min(a);
[~,Ib] = min(b);

其中Ia為1, Ib為8。

一個解決方案是四舍五入您的輸入:

f = 0.1;% rounding off to 1 decimal place
c = round(b/f)*f;
[~,Ic] = min(c);

Ic等於1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM