如何用Python求解微分方程,主要是基于Python的 sympy
库来进行微分运算,sympy
库的 diff
函数主要用于导函数,dsolve
函数用于解微分方程。
导函数
import sympy as sp
# 定义符号变量
x = sp.symbols('x')
# 定义函数
f = sp.sin(x) * sp.exp(x)
# 求导
f_prime = sp.diff(f, x) # f 对于 x 求导
# 输出导函数
print("函数的导函数:", f_prime)
微分方程
import sympy as sp
# 定义符号变量和未知函数
x = sp.symbols('x')
y = sp.Function('y')
# 定义微分方程
diff_eq = sp.Eq(sp.diff(y(x), x, x) + 2*sp.diff(y(x), x) + y(x), 0)
# 求解微分方程
solution = sp.dsolve(diff_eq, y(x))
# 输出微分方程的解
print("微分方程的解:", solution)
示例 1 :
import sympy as sp
# 定义符号变量
t = sp.symbols('t')
x = sp.Function('x')
# 定义微分方程
eq = sp.Eq(x(t).diff(t, t) + 9 * x(t), t * sp.sin(3 * t))
# 求解微分方程
sol = sp.dsolve(eq)
# 打印结果
print("微分方程的通解:", sol)
示例 2 :
import sympy as sp
# 定义符号变量
t = sp.symbols('t')
x = sp.Function('x')
# 定义微分方程
eq = sp.Eq(x(t).diff(t, t) + 2 * x(t).diff(t) + 5 * x(t), 4 * sp.exp(-t) + 17 * sp.sin(2 * t))
# 求解微分方程
sol = sp.dsolve(eq)
# 打印结果
print("微分方程的通解:", sol)
示例 3 :
# 求解微分方程
import sympy as sp
# 定义符号变量
t = sp.symbols('t')
x = sp.Function('x')
# 定义微分方程
eq = sp.Eq(t * x(t).diff(t, t) - 2 * (1 + t) * x(t).diff(t) + (2 + t) * x(t), 0)
# 求解微分方程
sol = sp.dsolve(eq)
# 打印结果
print("微分方程的通解:", sol)