我有两个排序数组,一个包含因子(数组a
),当与另一个数组(数组b
)的值相乘时,产生所需的值:
a(idx1) * b(idx2) = value
知道idx2
后,我希望找到idx1
a
,value
提供尽可能接近{{1}}所需的因素。
我已经研究了一些不同的算法(例如like this one),但我觉得在我的特定情况下它们都会遇到浮点运算的潜在问题。
有人可以建议一种避免这种情况的方法吗?
答案 0 :(得分:6)
如果我理解正确,这个表达
minloc(abs(a-value/b(idx2)))
会将索引返回到a
中第一次出现的值a
,从而最大限度地减少差异。我希望编译器会编写代码来扫描a
中的所有元素,因此这可能不会比利用a
和b
都知道的搜索更快执行排序。在补偿方面,这可以更快地编写,我希望能够进行调试。