我在基本 ODE 上使用 dsolve,得到的唯一结果是 f(x) = 0。这是一个有效的结果,但该方程有无限多个特征向量解。我如何鼓励 SYMPY 列出所有这些内容?
我已附上 Mathematica 的输出,其中包含完整的解决方案。
ODE = sy.Derivative(f,x,2) + λ**2 * f
ODE
initial_conditions = {f.subs(x,0):0, f.subs(x,1):0}
sol=sy.dsolve(ODE,f, ics=initial_conditions)
sol
f(x) = 0
如果不指定任何初始条件,可以从
dsolve
得到通解:
In [25]: x = symbols('x', real=True)
In [26]: l = symbols('lambda', positive=True)
In [27]: f = Function('f')
In [28]: initial_conditions = {f(0):0, f(1): 0}
In [29]: eq = f(x).diff(x, 2) + l**2 * f(x)
In [30]: dsolve(eq)
Out[30]: f(x) = C₁⋅sin(λ⋅x) + C₂⋅cos(λ⋅x)
In [31]: dsolve(eq, ics=initial_conditions)
Out[31]: f(x) = 0
ODE 有无限多个解,但只有其中一个满足您提供的初始条件。