我有一個正規化向量(即其元素之和爲1
),並且它們是有序遞減的(即[0.5 0.4 0.09 0.01]
)。Matlab - 獲得通過某一和限制的向量的元素的索引
是否有一種方法可以獲得第一個元素的索引,他們的總和剛剛低於某個閾值?
例如,在我的情況下,爲0.6
一個閾值I會獲得1
,索引(w.r.t。到索引向量元素的Matlab的方式)的0.5
。對於0.91
的閾值,我將獲得[1 2]
,指數[0.5 0.4]
等等。
我知道我可以通過向量循環做到這一點,但考慮到我使用Matlab,我想問我是否可以只用一個命令行或最大2來做到這一點,從而提高計算速度我的代碼。
在你的向量上使用cumsum並且看[這裏](http://stackoverflow.com/questions/12692586/find-upper-bound-index-in-sorted-vector) – angainor