高等数学问题的符号解(8)--解微分方程

微分方程,是指含有未知函数及其导数的关系式。解微分方程就是找出未知函数。

例:求下列微分方程的通解
(1)齐次方程 $ y^{\prime \prime}-5y^{\prime }+6y = 0 $
(2)非齐次方程 $ y^{\prime \prime}-5y^{\prime }+6y = xe^{2x} $

1
2
3
4
5
6
7
8
9
10
from sympy import *

x = symbols('x')
y = symbols('y', cls=Function) # 或者 y = Function('y')

eq1 = diff(y(x),x,2)-5*diff(y(x),x)+6*y(x)
eq2 = diff(y(x),x,2)-5*diff(y(x),x)+6*y(x)-x*exp(2*x)

print('齐次方程的解为:', dsolve(eq1,y(x)))
print('非齐次方程的解为:', dsolve(eq2,y(x)))

例:求解下列微分方程的解
(1)初值问题:$ y^{\prime \prime}-5y^{\prime }+6y = 0, y(0) = 1, y^{\prime } = 0 $
(2)边值问题:$ y^{\prime \prime}-5y^{\prime }+6y = xe^{2x}, y(0) = 1, y(2) = 0 $

1
2
3
4
5
6
7
8
9
10
11
12
13
from sympy import *

x = symbols('x')
y = symbols('y', cls=Function) # 或者 y = Function('y')

eq1 = diff(y(x),x,2)-5*diff(y(x),x)+6*y(x)
eq2 = diff(y(x),x,2)-5*diff(y(x),x)+6*y(x)-x*exp(2*x)

s1 = dsolve(eq1,y(x), ics={y(0):1, diff(y(x),x).subs(x,0):0})
print('初值问题的解为:', s1)

s2 = dsolve(eq2,y(x), ics={y(0):1, y(2):0})
print('边值问题的解为:', s2)
0%