我有一个等距值的变量(假设values=0:1e-3:1
)。values
我想获取最接近均匀随机值(假设x=rand
)的值及其对应索引。
我可以做[value,vIdx]=min(abs(values-x))
,这将是我能做的最简单的最小化。不幸的是,该min
函数不会利用数据中的一个属性,即 convex。我不需要搜索所有索引,因为只要找到一个不小于前一个的索引,我就找到了全局最小值。就是说,我不想用 matlab min 函数代替一个循环,该循环会根据它与我将开始的值的距离而变慢。有很多方法可以使用,作为黄金分割,但我不确定使用 matlab fmincon 是否会比该min
方法更快。
有没有人有任何提示/想法如何比使用所描述的min
方法更快地获得所需的值?有时间我会检查时间表现,但如果有人先验地知道一个好的答案,请告诉我。
可能的应用:捕捉到最近的图形数据