在评论中,提到了分数单位。我将假设您允许部分销售,因此循环不会削减它。
假设卖出 x 个单位后的瞬时汇率为 a*s^x。那 ^ 是幂运算,而不是按位异或。从 u 到 v 的 vu 单位的总成本可以从微积分中找到:
Integrate from u to v of a s^x dx
= (a/ln s) * (s^v - s^u)
我更改了一些变量的符号。e 已经具有指数的含义。您将 b 用于两个结果不同的事情。通常,您不希望看到 (b * r)^... 而是 r^... 或 (1+r)^... 所以我将改为使用 s 作为指数的基数。
给定一定数量的货币 m,我们想找到 v 使得
(a/ln s) * (s^v - s^u) = m
s^v - s^u = (m * ln s)/a
s^v = ((m * ln s)/a + s^u)
v = log_s((m * ln s)/a + s^u)
v = ln ((m * ln s)/a + s^u) / ln s
例如,假设 x 个单位后的瞬时成本为 $100 * (1.01)^x。你能用100万美元买多少钱?463.32。届时,瞬时成本将高达 10,050 美元。
您可能会感到惊讶,如果您有 100 美元,而瞬时成本为 100 美元,您就无法购买 1 个单位。您可以购买 0.995058 个单位,因为价格不是固定的 100 美元。第一个单元的后半部分比前半部分要贵,而且只有 100 美元,你买不起整个单元。您可能不想指定瞬时汇率,而是指定第一项的成本。第一项的成本是(a/ln s)(s^1-s^0) = (a/ln s)(s-1),比a多一点,因为s-1有点超过 ln 秒。如果指定第一项的成本 b = a *(s-1)/ln s,则可以计算 a = b * (ln s)/(s-1)。因此,如果您希望第一个项目的成本为 100 美元且 s=1.01,则 0 件的瞬时成本为 100 美元 * (ln 1.01)/(.01) = 99.5033 美元。