XLPack Solver – Ordinary Differential Equations (ODEs)
Compute the solution of the initial value problem of the ordinary differential equations.Let’s solve the following example equations.
\[
\begin{align}
& dy_1/dt = y_3 \\
& dy_2/dt = y_4 \\
& dy_3/dt = -y_1/r \\
& dy_4/dt = -y_2/r \\
& (where r = (y_1^2 + y_2^2)^{3/2}) \\
\end{align}
\]
The initial values are \(y_1 = 1, \space y_2 = 0, \space y_3 = 0 and y_4 = \sqrt{3}\) at \(t_0 = 0\).
This is an example of a system of four ordinary differential equations with four dependent variables, but it is actually the same as the example of a second-order ordinary differential equation, expressed as a first-order system of ordinary differential equations by setting \(dy_1/dt = y_3, \space dy_2/dt = y_4\).
The solver program will write the value of \(t\) into the independent variable (\(t\)) cell (B8 in this case) and the values of \(y_i\) into the dependent variable (\(y_i\)) cells (B9 to B12 in this case). The differential equation (\(dy_i/dt\)) cells (B13 to B16 in this case) must contain the formulas to compute \(dy_1/dt, \dots, dy_4/dt\) from \(t\) and \(y_i\). To solve this example, the formulas for B13 to B16 are =B11, =B12, =-B9*(B9^2+B10^2)^(-3/2) and =-B10*(B9^2+B10^2)^(-3/2), respectively.
The initial values and output range (D8:H28 in this case) is the cell range for the value of \(t\) (input) in the first column and the computed values of \(y_i\) in the second, third, … columns (output). Input the initial values (\(t_0, y_1 \dots y_4\) at \(t_0\) in this case) in the first row and the target \(t\) value in the first column of second and later rows, and click “Compute”. Then the values of \(y_i\) at \(t\) of each row will be computed and output to the second and later columns of each row. If the row with a blank cell in the first column is encountered, the computation will be terminated even within the initial value and output range.
Derkfa, Dopri5a, Dop853a, Deabm, Debdf (for stiff problem) or Radaua (for stiff problem) can be selected as the solver program.
The standard value of tolerance is \(10^{-8}\). The tolerance value will be set to RTol and ATol of each routine.
The cell ranges can be specified as larger than required. In that case, only the necessary range will be used from left upper corner.

Please refer to here for “Save/Restore” button.
When “Help” button is clicked, this page will be displayed if the network connection is available.
The “?” button of right upper corner will not work correctly. Please use “Help” button.


