Home»Math Guides»How to Transform a Second-order ODE into System of First-order ODEs
How to transform a second-order ODE (ordinary differential equation) into a system of two first-order ODEs
If you have a single second-order ODE (an ODE containing a second-derivative), you can actually just use a simpler substitution trick to transform it into a system of two first-order ODEs, which you can solve using by finding the eigenvalues and eigenvectors.
This is a trick you might see, you may not have been told how to solve a second-order ODE in your differential equations course, and you might need to memorize this method and know when to use it to simplify your problem.
Example problem: Solve \(x” – 3x’ + 2x = 0\)
The trick to transform this into a system of first-order ODEs is to use the following substitutions, we need to denote new dependent variables called \({x_1}\) and \({x_2}\):
Let:
\[{x_1} = x’\]
\[{x_2} = x\]
Then find their derivatives:
\[{x_1}’ = x”\]
\[{x_2}’ = x’ = {x_1}\]
Using these substitutions, we are able to transform the single second-order ODE into the following system of first-order ODEs:
\[{x_1}’ = 3{x_1} – 2{x_2}\]
\[{x_2}’ = {x_1}\]
Review how to solve these kinds of systems of ODEs through finding eigenvalues and eigenvectors.
To find the eigenvalues, find \(\det \left( {A – \lambda I} \right)\).
You will get the characteristic polynomial: \({\lambda ^2} – 3\lambda + 2 = 0\)
You get two real distinct eigenvalues:
\[\lambda = 2\]
\[\lambda = 1\]
Substitute \(\lambda = 2\) into \(\left( {A – \lambda I} \right)V = \left( {\begin{array}{*{20}{c}}0\\0\end{array}} \right)\) and solve for the eigenvector V.
Remember that eigenvectors can be different from one person to another, like you can have the same vector that’s multiplied by a scalar multiple it’s still a correct eigenvector.
In general choose a simple eigenvector, you can choose one component in the vector, then solve for the other component.
For \(\lambda = 2\)
\[\left[ {\begin{array}{*{20}{c}}1&{ – 2}\\0&0\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{v_1}}\\{{v_2}}\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}0\\0\end{array}} \right]\]
We read from the first row:
\[{v_1} – 2{v_2} = 0\]
\[{v_1} = 2{v_2}\]
We choose one of the components to be something simple, we chose \({v_2} = 1\), then \({v_1} = 2\).
\[{V_1} = \left[ {\begin{array}{*{20}{c}}2\\1\end{array}} \right]\]
Repeat, but now use \(\lambda = 1\) into \(\left( {A – \lambda I} \right)V = \left( {\begin{array}{*{20}{c}}0\\0\end{array}} \right)\)
\[\left[ {\begin{array}{*{20}{c}}1&{ – 1}\\0&0\end{array}} \right]\left[ {\begin{array}{*{20}{c}}{{v_1}}\\{{v_2}}\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}0\\0\end{array}} \right]\]
We obtain the second eigenvector, \({V_2} = \left[ {\begin{array}{*{20}{c}}1\\1\end{array}} \right]\)
Now substitute them and get the final solution:
\[x(t) = {c_1}\left[ {\begin{array}{*{20}{c}}2\\1\end{array}} \right]{e^{2t}} + {c_2}\left[ {\begin{array}{*{20}{c}}1\\1\end{array}} \right]{e^t}\]
You might get “different looking” eigenvectors because you choose one of the components in the vector and solve for the other, but the key to remember is that if your instructor wanted everybody to obtain the same answer, they would specify an initial conditions.
Then you’d solve for the constants using the initial conditions and you would all acquire the exact same solution, your constants would actually be different depending on the eigenvector you found but when you multiply them throughout you’d get the same final result.