#範例8-3:二階常係數齊性ODE的解法(三)--複數根 # ode : y''(x) + 2y'(x) + 5y = 0 #邊界條件或起始條件:y(0) =1, y'(0) =1 #語法:dsolve(eq, f(x), ics={y(0):1,y(x).diff(x).subs(x,0):2}) #所解出的原方程式:y(x) = (sin(2*x) + cos(2*x))*exp(-x) from sympy import * x = symbols('x') y = Function('y') ode = diff(y(x),x,2) + 2*diff(y(x),x) + 5*y(x) ans = dsolve(ode, y(x), ics={y(0):1, y(x).diff(x).subs(x,0):1}) print('二階ode的解:',ans.args[0],'=',ans.args[1]) #畫出y(x) plot(ans.args[1],(x,-1,5), line_color='red')