如何让 Sympy dsolve 生成 ODE 的所有特征向量?

问题描述 投票:0回答:1

我在基本 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

sympy ode eigenvector
1个回答
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 有无限多个解,但只有其中一个满足您提供的初始条件。

© www.soinside.com 2019 - 2024. All rights reserved.