首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PL/pgSQL中数学公式的语法

PL/pgSQL中数学公式的语法
EN

Stack Overflow用户
提问于 2021-06-10 01:12:57
回答 1查看 27关注 0票数 0

我有一个关于为PL/pgSQL格式化数学公式的问题。我正在尝试创建一个抵押贷款付款计算器使用给定的公式。我已经做了很多搜索,不明白为什么我的原始代码不能工作。我做了一些搜索,找出了这个数学公式是如何用Python完成的。我插入了公式,并将其转换为正确的语法,得到了我正在寻找的答案。

我试图表示的数学公式附加在底部。python教程中的数学公式在语义上是不同的,所以我正在尝试找出如何修复我的公式,使其在给定数学公式的参数下工作。

我发现工作正常的代码是:

代码语言:javascript
复制
monthly_Payment = P * ((i * ((1+i)^n)) / ((1+i)^n - 1));

我写的代码是:

代码语言:javascript
复制
monthly_Payment := (P*i) + (i/(1+i)^n - 1);

我正在尝试理解它们之间的不同之处,以及如何让我的原始代码适合我给定的数学公式的参数。

下面是我试图表示的数学方程式。

EN

回答 1

Stack Overflow用户

发布于 2021-06-10 01:53:36

表达式(P*i) + (i/(1+i)^n - 1)的解释如下:(记住:乘法前的方括号/加法/减法之前的方括号)

最上面的运算符是中间的+,因为两个操作数都用括号括起来。

(P*i)就是它看起来的样子,"P×i“。注意,P只在该子表达式中有效,而它与原始公式中的所有其余部分相乘。

(i/(1+i)^n - 1)被视为1i/(1+i)^n中减去,因为乘法/指数运算发生在减法之前。但是你不想要分数中的减法,你想要它里面的减法。

i/(1+i)^ni除以(1+i)^n (因为乘法/除法之前也是幂运算)。

这就是发生在你的表达式上的事情。现在我想简单地解释一下为什么你找到的表达式是有效的。它与您所展示的公式的表示形式不同,但它会给出完全相同的结果。注意,ii * ((1+i)^n - 1) / ((1+i)^n - 1)相同。它现在与图片中的分数具有相同的分母,因此我们可以添加枚举数:

代码语言:javascript
复制
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乘以它,我们就得到了与你找到的公式中相同的结果(直到他们添加了一些不必要的括号):

代码语言:javascript
复制
P * i * ((1+i)^n) / ((1+i)^n - 1)

如果你想按照你在图片中看到的方式来写,你可以这样做:

代码语言:javascript
复制
P * (i + i / ((1+i)^n - 1))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67908825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档