-1

我们正在尝试模拟指数通货膨胀的货币兑换,比如根据复利率将美元兑换成蛤蜊。我们的成本方程如下所示:

c = b(b*r)^e

其中:
c 是下一个蛤蜊的成本
b 是第一个蛤蜊的基本成本
r 是通货膨胀率
e 是已经存在的蛤蜊的数量

这很好用。第一个蛤蜊成本 b,第二个成本 b * rate,从那里开始呈指数增长。完美的。

我们现在要做的是弄清楚将创建多少蛤蜊,知道要交换的美元数量以及已经存在的蛤蜊数量。

我们既不是数学家也不是经济学家,这让我们很生气。帮助将不胜感激。最少的科学符号也会受到赞赏——我需要把它翻译成代码,而且我的希腊语很生疏。;-)

正确猜测我正在玩什么游戏的奖励积分!:-)

4

1 回答 1

1

在评论中,提到了分数单位。我将假设您允许部分销售,因此循环不会削减它。

假设卖出 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 美元。

于 2015-03-26T02:31:20.073 回答