Типовые задачи >  Дифференциальные уравнения >  Примеры решения


Примеры решения систем обыкновенных дифференциальных уравнений

Получить аналитическое решение для нелинейных дифференциальных уравнений чаще всего не удается, поэтому прибегают к численному интегрированию, представляя результат в виде таблично и/или графически заданных функций.

  1. Метод Эйлера – наиболее простой и легко реализуемый, но его точность сильно зависит от величины шага интегрирования (см. описание метода). Применение метода Эйлера для решения одиночного дифференциального уравнения показано в примере 1, где в качестве первообразной выбрана синусоида. График в примере демонстрирует высокую погрешность при заданном числе шагов интегрирования. Изменяя этот параметр и анализируя результат, можно наглядно исследовать влияние шага на точность решения.
  2. Пример 1: HTML-документ; рабочий лист Mathcad

    Для решения системы дифференциальных уравнений предложен программный блок, реализующий метод Эйлера в общем виде. Им можно воспользоваться при решении других подобных задач. Выражения для производных вычисляются в виде вектора-функции.

    Пример 2: HTML-документ; рабочий лист Mathcad

  3. Метод Рунге–Кутта дает более точное решение, но он сложнее в реализации за счет двух- или четырехкратного вычисления производной для уточнения угла наклона касательной. Для решения обыкновенных дифференциальных уравнений методом Рунге–Кутта в Mathcad введен ряд функций:
  4. Функция Rkadapt наиболее привлекательна для решения систем дифференциальных уравнений, имеющих относительно медленно изменяющиеся решения может существенно сократиться время счета из-за автоматического увеличения шага).

    Если решение системы дифференциальных уравнений имеет вид гладких функций, то вместо функции rkfixed целесообразно применять функцию:

    Bulstoer(y, x1, x2, n, F)

    Эта функция возвращает матрицу решения системы обыкновенных дифференциальных уравнений, правая часть которых (в виде первых производных неизвестных функций) записана в векторе F(x,y) при заданных в векторе у начальных условиях и при решении на интервале от х1 до х2 для n точек решения, не считая начальной точки. Последняя функция реализует метод Булирша–Штера.


Типовые задачи >  Дифференциальные уравнения >  Примеры решения