Un grand nombre de problèmes d’ingénierie sont formulés en termes d’équation différentielle ou de système d’équations différentielles. Un problème d’ingénierie typique nécessite de trouver la solution d’un ensemble d’équations différentielles soumises à un certain ensemble de valeurs initiales ou soumises à un certain ensemble de valeurs limites. Dans ce chapitre, nous ne considérerons que les problèmes de type valeur initiale. Un sous-ensemble des équations différentielles générales est l’ensemble des équations différentielles linéaires à coefficients constants. Pour de tels systèmes, des solutions sous forme fermée peuvent toujours être trouvées car les solutions sont toujours des sommes de fonctions exponentielles. Pour les équations différentielles générales et en particulier pour les équations différentielles non linéaires, les solutions sous forme fermée ne peuvent généralement pas être trouvées et il faut recourir à des solutions numériques. Ce que l’on entend par solution numérique est un ensemble de valeurs tabulaires donnant la valeur de la (ou des) variable(s) dépendante(s) en fonction de la (ou des) variable(s) indépendante(s) à un nombre fini de valeurs de la variable dépendante.
Ce chapitre commence par aborder le cas simple d’une équation différentielle simple du premier ordre. La variable indépendante sera supposée être le temps (t), mais la discussion est indépendante du fait que la variable indépendante soit le temps ou une certaine coordonnée spatiale. Certaines propriétés fondamentales de toutes les solutions numériques aux équations différentielles seront développées pour certains cas simples. La discussion sera ensuite étendue aux systèmes d’équations différentielles du premier ordre, puis aux systèmes d’équations différentielles du second ordre et d’ordre supérieur. Quelques segments de codes informatiques généraux seront développés pour être utilisés dans la résolution d’équations différentielles non linéaires générales. Enfin, plusieurs exemples seront donnés pour illustrer l’application des segments de code à des problèmes typiques.