MATLAB: How to ensure that dsolve provides a trigonometric solution to a second order differential equation

differential equationsMATLABodeSymbolic Math Toolbox

I'm trying to solve the following linear second order equation with dsolve in the symbolic workflow.
When I solve it I get a solution in the form of exponents with complex arguments. I would like to receive the answer in therms of sines and cosines only.
Funnily, when I break the right hand side and solve it part by part, I get trigonometric solutions.
Any ideas on how to force dsolve to give trigonometric solutions? Or simplify the exponents by using the Euler identites?

Best Answer

  • Since you have a linear ODE with a right-hand-side composed of harmonic terms you know that you can solve for the homogenous and particular solutions at each frequency separately, so do just that and add them up?
    Or simply take the real part of the complex exponential.
    However, you have at least two terms C1*sin(t) and C2*cos(t) that will be resonant. That you have to make sure is properly handled (and meaningful).