Difference between revisions of "Software tutorial/Integration of ODEs"
m |
m |
||
Line 1: | Line 1: | ||
In our course we have learned several ways of integrating a single equation \(\displaystyle \frac{dy(t)}{dt} = f(t, y) \) with a given initial condition \(y(t=0)=y_0\); and we have shown that | In our course we have learned several ways of integrating a single equation \(\displaystyle \frac{dy(t)}{dt} = f(t, y) \) with a given initial condition \(y(t=0)=y_0\); and we have shown that a system of \(n\) first order ODE's can be integrated: \[ \displaystyle \frac{d{\bf y}(t)}{dt} = {\bf f}(t, {\bf y}) \]given a set of \(n\) initial conditions \({\bf y}(t=0) = {\bf y}_0\), i.e. \( {\bf y}_0\) is an \(n \times 1\) vector. The [[Ordinary_differential_equations | course notes covered]] Euler's method, Heun's method and Runge-Kutta methods. | ||
However, we only coded Euler's method (because it was simple!), but not the others. These other methods have been (reliably) coded | However, we only coded Euler's method (because it was simple!), but not the others. These other methods have been (reliably) coded in software packages and sophisticated error correction tools built into their algorithms. You should always use these toolbox functions to integration your differential equation models. In this section we will show how to use MATLAB and Python's built-in functions to integrate: | ||
* a single differential equation | * a single differential equation | ||
* a system of differential and algebraic equations. | * a system of differential and algebraic equations. | ||
We will only look at initial value problems (IVPs) in this tutorial. | We will only look at initial value problems (IVPs) in this tutorial. | ||
== MATLAB == | |||
== Python == | |||
Like MATLAB, several integrators are available in Python. | |||
<!-- ODE's in Python: | <!-- ODE's in Python: |
Revision as of 14:20, 18 November 2010
In our course we have learned several ways of integrating a single equation \(\displaystyle \frac{dy(t)}{dt} = f(t, y) \) with a given initial condition \(y(t=0)=y_0\); and we have shown that a system of \(n\) first order ODE's can be integrated: \[ \displaystyle \frac{d{\bf y}(t)}{dt} = {\bf f}(t, {\bf y}) \]given a set of \(n\) initial conditions \({\bf y}(t=0) = {\bf y}_0\), i.e. \( {\bf y}_0\) is an \(n \times 1\) vector. The course notes covered Euler's method, Heun's method and Runge-Kutta methods.
However, we only coded Euler's method (because it was simple!), but not the others. These other methods have been (reliably) coded in software packages and sophisticated error correction tools built into their algorithms. You should always use these toolbox functions to integration your differential equation models. In this section we will show how to use MATLAB and Python's built-in functions to integrate:
- a single differential equation
- a system of differential and algebraic equations.
We will only look at initial value problems (IVPs) in this tutorial.
MATLAB
Python
Like MATLAB, several integrators are available in Python.
MATLAB | Python |
---|---|