rya*_*lon 1 fortran binary-search
我有两个排序的数组,一个包含因子(数组a
),当与另一个数组(数组b
)的值相乘时,产生所需的值:
a(idx1) * b(idx2) = value
Run Code Online (Sandbox Code Playgroud)
有了idx2
名气,我想找到idx1
的a
,提供必要获得尽可能接近的因素value
成为可能.
我已经看过一些不同的算法(比如这个算法),但我觉得在我的特定情况下它们都会遇到浮点运算的潜在问题.
任何人都可以建议一种避免这种情况的方法吗
如果我理解正确,这个表达方式
minloc(abs(a-value/b(idx2)))
Run Code Online (Sandbox Code Playgroud)
将索引返回到a
第一次出现的值中a
,其中最小化差异.我希望编译器会编写代码来扫描所有元素,a
因此这可能不会比利用知识a
和搜索的搜索更快b
.在补偿方面,这可以更快地编写,我希望能够进行调试.