gpt4 book ai didi

python - 在 sympy/numpy 中获取给定递归方程的表达式

转载 作者:行者123 更新时间:2023-11-28 18:51:01 25 4
gpt4 key购买 nike

以下示例仅用于查询的精确定义。考虑一个递归方程 x[k+1] = a*x[k] 其中 a 是某个常数。现在,在 sympy/numpy 中是否有更简单的方法或现有方法执行以下操作(即,为给定的递归方程给出一个地平线上的表达式):

def get_expr(init, num):
a = Symbol('a')
expr = init
for i in range(num):
expr = a*expr
return expr

x0 = Symbol('x0')
get_expr(x0,3)

上面的地平线是3。

最佳答案

我打算建议使用 SymPy 的 rsolve 来尝试找到方程的封闭形式解,但似乎至少对于这个特定的方程,有一个错误阻止它工作.参见 http://code.google.com/p/sympy/issues/detail?id=2943 .也许如果你真的想知道一个更复杂的表达式,你可以尝试一下。对于这个,封闭形式的解决方案就是 a**n*x0

除此之外,SymPy 没有任何可以直接执行此评估的功能,但它确实有一些可以提供帮助的功能。 sympy.utilities.memoization 中有一些内存装饰器供内部使用,但对于外部使用应该也能正常工作。它们可以通过缓存以前的评估结果来帮助您提高评估效率。您需要递归地编写 get_expr 才能使其有效工作。或者您可以编写自己的缓存器。没那么复杂。

关于python - 在 sympy/numpy 中获取给定递归方程的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13132765/

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