gpt4 book ai didi

python - 在 Python 中实现差分(非差分)方程

转载 作者:行者123 更新时间:2023-12-04 10:51:55 27 4
gpt4 key购买 nike

我正在尝试在 Python 中实现一个差分方程。这些采用 yn+1 = a * yn + b 的形式,给定 y0,其中 y0 是初始值并进行迭代——意思是

y1 = a * y0 + b,
y2 = a * y1 + b,
...

一个示例问题(来自我的微积分课)是这样的:
假设您贷款 60,000 美元,并计划以 1.2% 的利率每月偿还 700 美元。 5年后还剩多少?这将设置为 yn+1 = 1.1 * yn - 700, y0 = 60,000

我理解 Python 中的递归,你可以说,例如,

i = 0
while i < 20:
i = i+1

但是当下一次迭代需要前一次的值时,我不确定如何处理它。

最佳答案

通常,您可以通过将计算中的最后一个值存储在一个变量中,并用您的起始值作为种子来实现。例如:

y = 60000
while True:
y = .1 * y - 700

当然,您必须确定何时停止以及如何处理这些值。你当然想打印它们:

y = 60000
while True:
y = .1 * y - 700
print(y)

但你可能只想做 100 次或其他事情而不是永远:

y = 60000
for i in range(12*5):
y = .1 * y - 700
print("%d: %f" % (i,y))

您可能还想存储它们以备后用,因此将它们放入数组中:

y = 60000
results=[]
for i in range(12*5):
y = .1 * y - 700
results.append(y)

print(results)

关于python - 在 Python 中实现差分(非差分)方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59440344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com