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