# Apps: Solve 2nd Order Differential Equations

A differential equation relates some function with the derivatives of the function. Functions typically represent physical quantities and the derivatives represent a rate of change. The differential equation defines a relationship between the quantity and the derivative. Differential equations are very common in fields such as biology, engineering, economics, and physics. Differential equations may be studied from several different perspectives. Only simple differential equations are solvable by explicit formulas while more complex systems are typically solved with numerical methods. Numerical methods have been developed to determine solutions with a given degree of accuracy.

The term with highest number of derivatives describes the order of the differential equation. A first-order differential equation only contains single derivatives. A second-order differential equation has at least one term with a double derivative. Higher order differential equations are also possible.

Below is an example of a second-order differential equation. To numerically solve a differential equation with higher-order terms, it can be broken into multiple first-order differential equations as shown below. A numerical solution to this equation can be computed with a variety of different solvers and programming environments. Solution files are available in MATLAB, Python, and Julia below or through a web-interface. Each of these example problems can be easily modified for solutions to other second-order differential equations as well. Solution to 2nd-Order Differential Equation in Matlab Solution to 2nd-Order Differential Equation in Python Solution to 2nd-Order Differential Equation in Julia Solution to 2nd-Order Differential Equation in a Web Browser

Another scenario is when the damping coefficient c = (0.9 + 0.7 t) is not known but must be estimated from data. The value of c is allowed to change every 0.5 seconds. The true and estimated values of c are shown on the plot below. Predicted and actual values of y are in agreement even though the estimate is not continuous but only changes at discrete time points.  Solution to 2nd-Order Differential Estimation in Matlab Solution to 2nd-Order Differential Estimation in Python