这是一个简单的多项式方程:
b^2 + 2b + 1 = 0
我可以很容易地解决这个问题:
import numpy as np
from scipy.optimize import fsolve
eq = lambda b : np.power(b,2) + 2*b + 1
fsolve(eq, np.linspace(0,1,2))
同样,我可以求解任何项数有限的方程式。但是我如何求解一个包含无限项的方程式:
上面的等式可以写成:
5 = (1 - l) * (5.5 + 4.0*l + 4*l^2 + 6*l^3 + 5*l^4 + 5*l^5 + 5*l^6 + 5*l^7 + 5*l^8 + 5*l^9 + 5*l^10 )
当 n 从 1 变为 10 时。但是我想解决这个问题以获得足够大的 n
值,使得 LHS ~= RHS。
我知道 LHS 和 G1 -> Ginf
的值,但无法理解我如何在这里计算 lambda 的值。
我试着查看 numpy polynomial functions但找不到与此处相关的功能。
最佳答案
下面掩盖了我没有 100% 理解系数符号 G_t:t+n
的事实(应该准确表示哪种依赖关系?)
显然,解决方案将取决于系数。如果正如您的示例所暗示的那样,系数在某个索引之上都相等 n_0
然后你的 r.h.s. expression 是一个伸缩和,等于 G_t:1
+ sum_1^n_0 [G_t:n - G_t:n+1] l^n`。请务必注意,这个总和是有限的,因此您知道如何从这里开始。
一个警告:你必须有 |l| < 1
否则级数不收敛,r.h.s.是未定义的,尽管某种延续论证是可能的。
关于python - 与线性表达式相乘时求非线性表达式的根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56313208/