Решение систем оду первого порядка
К системам ОДУ первого порядка приходят при описании самых разнообразных задач биологии, физики, химии, химической технологии, экономики и т. д. Для решения систем ОДУ используется метод Рунге-Кутта, последовательно применяемый к каждому дифференциальному уравнению. Однако существуют задачи, которые невозможно решить этим методом, они называются «жесткими». Чаще всего они встречаются при решении задач химической кинетики, в которых скорости отдельных стадий различаются очень значительно, например в миллионы раз. Для их решения используются специальные алгоритмы, так называемые неявные методы. Интересно отметить, что этими методами можно решать и нежесткие, обычные системы ОДУ, однако в жестких методах приходится задавать матрицу частных производных всех функций, что вызывает у некоторых пользователей затруднения и является в некоторых случаях причиной ошибок при формировании матрицы Якоби. Поэтому рекомендуем, сначала попробовать решить задачу простым методом Рунге-Кутта, а в случае неудачи использовать методы решения «жестких» систем.
Решим совместно уравнения (67), описывающие влияние температуры на изменение энтропии и энергии Гиббса в химической реакции. Правые части этой системы являются функцией температуры:
(68)
(69)
Систему дифференциальных уравнений задают в матрице D, куда записывают правые части дифференциальных уравнений (67). В данном случае мы поместили сюда выражения для –rS0T из уравнения (68) и выражение для rСр из уравнения (69). Далее в матрицу y0 записываем начальные условия. Решение получаем в виде матрицы U с помощью встроенной функции rkfixed(y0, t0,t1,M,D), где t0 и t1 – начальное и конечное значение аргумента, для нашего случая – температура; М – количество интервалов, на которое разбивается интервал интегрирования, для нашего случая выбрано М=8, что дает вычисление функций при температурах кратных 50 К. Именно для этих температур и можно получить решение.
В программе 32 даны три варианта получения решения. Первый – вывод всей матрицы решения. Видно, что в первом столбце (он считается нулевым) – значения аргумента (у нас – температура), во втором (с номером 1) – значение первой искомой функции (у нас – rG0T), в третьем (с номером 2) – значение второй искомой функции (у нас – rS0T). Для построения графиков используются отдельные столбцы матрицы (программа 33).
П рограмма 33
- Введение
- Глава 1 аппроксимация методом наименьших квадратов
- Программа 1
- Контрольные вопросы к главе 1
- Расчетная многовариантная задача № 1
- Варианты творческих заданий
- Глава 2. Способы сглаживания экспериментальных данных в mathcad
- Контрольные вопросы к главе 2
- Расчетная многовариантная задача № 2
- Варианты творческих заданий
- Глава 3. Интерполяция и экстраполяция
- Контрольные вопросы к главе 3
- Расчетная многовариантная задача № 3
- Варианты творческих заданий
- Глава 4. Оптимизация
- Методы одномерной оптимизации
- Контрольные вопросы к главе 4
- Расчетная многовариантная задача № 4
- Варианты творческих заданий
- Глава 5. Интегрирование
- Вычисление определенных интегралов
- Метод прямоугольников
- Метод трапеций
- Численное интегрирование с помощью квадратурных формул
- Метод парабол Симпсона
- Интегрирование с помощью встроенных функций MathCad
- Интегрирование функции, заданной таблично
- Интегральные уравнения получены на основании температурной зависимости теплоемкости индивидуального вещества:
- Контрольные вопросы к главе 5
- Расчетное многовариантное задание № 5
- Расчетное многовариантное задание № 6
- Варианты творческих заданий
- Глава 6. Дифференцирование
- Решение дифференциальных уравнений
- Метод Эйлера
- М етод Эйлера-Коши
- Метод Рунге-Кутта 4 порядка
- Решение дифференциальных уравнений с помощью встроенных функций MathCad
- Оду первого порядка
- Оду второго и выше порядка
- Решение систем оду первого порядка
- Решение «жестких» систем оду
- Контрольные вопросы к главе 6
- Расчетная многовариантная задача № 7
- Расчетная многовариантная задача № 8
- Литература
- Оглавление