1

我正在尝试解码使用近似对数曲线的时间码(见图)。它不是真正的对数曲线,而是由线性曲线组成。

例如,当时间码显示 822496 时,实际时间为 2793ms。我已经打印了曲线,并在新的线性曲线开始时找到了断点:

对数的线性近似

milliseconds => timecode
2793ms => 822496
6844ms => 906195
...
510982ms => 1408395

大约每 83700 个时间码值开始一条新的线性曲线。目前我正在取消一条真正的对数曲线,但我想知道如何用线性曲线来做到这一点,更准确地说。

我的问题是,如何找到公式来使用尽可能接近的线性曲线从我的时间码计算实时(毫秒)

近似该曲线的对数函数是(在断点处拟合):

y = log x * 119900 - 167700
4

1 回答 1

0

什么语言?在 Java 中,我会构建一个时间码的 NavigableMap (TreeMap) -> 实时,然后查找floorEntry( timecode)以找到最近的条目。

当然,您需要计算/凭经验确定对应关系并构建地图;要么全部提前,要么按需扩大范围。

关于您的问题尚不清楚的一件事..您能否对时间码计算进行精确的逆向工程,或者这只是一个近似值并且您要从那里搜索确切的位置?

于 2013-09-19T00:09:58.990 回答