我有一个关于为PL/pgSQL格式化数学公式的问题。我正在尝试创建一个抵押贷款付款计算器使用给定的公式。我已经做了很多搜索,不明白为什么我的原始代码不能工作。我做了一些搜索,找出了这个数学公式是如何用Python完成的。我插入了公式,并将其转换为正确的语法,得到了我正在寻找的答案。
我试图表示的数学公式附加在底部。python教程中的数学公式在语义上是不同的,所以我正在尝试找出如何修复我的公式,使其在给定数学公式的参数下工作。
我发现工作正常的代码是:
monthly_Payment = P * ((i * ((1+i)^n)) / ((1+i)^n - 1));我写的代码是:
monthly_Payment := (P*i) + (i/(1+i)^n - 1);我正在尝试理解它们之间的不同之处,以及如何让我的原始代码适合我给定的数学公式的参数。
下面是我试图表示的数学方程式。

发布于 2021-06-10 01:53:36
表达式(P*i) + (i/(1+i)^n - 1)的解释如下:(记住:乘法前的方括号/加法/减法之前的方括号)
最上面的运算符是中间的+,因为两个操作数都用括号括起来。
(P*i)就是它看起来的样子,"P×i“。注意,P只在该子表达式中有效,而它与原始公式中的所有其余部分相乘。
(i/(1+i)^n - 1)被视为1从i/(1+i)^n中减去,因为乘法/指数运算发生在减法之前。但是你不想要分数中的减法,你想要它里面的减法。
i/(1+i)^n是i除以(1+i)^n (因为乘法/除法之前也是幂运算)。
这就是发生在你的表达式上的事情。现在我想简单地解释一下为什么你找到的表达式是有效的。它与您所展示的公式的表示形式不同,但它会给出完全相同的结果。注意,i与i * ((1+i)^n - 1) / ((1+i)^n - 1)相同。它现在与图片中的分数具有相同的分母,因此我们可以添加枚举数:
i * ((1+i)^n - 1) + i
= i * ((1+i)^n - 1) + i * 1
= i * (((1+i)^n - 1) + 1)
= i * ((1+i)^n)完整的片段现在是i * ((1+i)^n) / ((1+i)^n - 1)。现在我们只需要将P乘以它,我们就得到了与你找到的公式中相同的结果(直到他们添加了一些不必要的括号):
P * i * ((1+i)^n) / ((1+i)^n - 1)如果你想按照你在图片中看到的方式来写,你可以这样做:
P * (i + i / ((1+i)^n - 1))https://stackoverflow.com/questions/67908825
复制相似问题