Я пытаюсь использовать sympy для решения простого ODE 2-го порядка: gamma * y '' (x) + 4 * y (x) = 0. Я получаю сообщение об ошибке «имя x не определено». И каждый раз, когда я пытаюсь исправить одну ошибку, появляется другая ошибка. Пожалуйста, может кто-нибудь сказать мне, что не так с моим кодом. Кроме того, как мне найти решение?
Изначально у меня возникли проблемы с:
from sympy import*
from sympy.solvers import dsolve
import sympy as sp
from pylab import*
dsolve?
f = sp.symbols("f", cls=sp.Function)
f(x)
ode1 = gamma*f(x).diff(x,2) + 4*f(x)
f_init = [1,0]
gamma = 0.01
sol1 = dsolve(ode1, f(x), f_init)
print(ode1, sol1)
ОБНОВЛЕНИЕ: это сделало то, что я искал чтобы заставить меня работать:
from sympy import*
from sympy.solvers import dsolve
import sympy as sp
from pylab import*
import matplotlib.pyplot as plt
x = sp.symbols('x')
f = sp.Function("f")
gamma = 0.01
ode1 = sp.Eq(gamma*f(x).diff(x,2)+4*x)
sol1 = sp.dsolve(ode1, ics={f(0): 0, sp.diff(f(x), x).subs(x,0): 1})
print(ode1, sol1)