Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Аппроксимация 2012_верстка.doc
Скачиваний:
47
Добавлен:
27.11.2019
Размер:
2.84 Mб
Скачать

Метод Рунге-Кутта 4 порядка

В этом методе, проводят четыре касательных, затем их усредняют. Приведем заключительную процедуру итерационных соотношений этого метода (ошибка пропорциональна h4):

(65)

В программе 28 реализован метод Рунге-Кутта.

Программа 27

Программа 28

Решение дифференциальных уравнений с помощью встроенных функций MathCad

В MathCad можно решать следующие дифференциальные уравнения:

  • обыкновенные (ОДУ) – в которые входят производные только одной переменной;

  • уравнения в частных производных;

  • задачи Коши – это ОДУ, для которых определены начальные условия – т. е. заданы значения функций в начальной точке интервала интегрирования;

  • краевые задачи – ОДУ, для которых заданы условия на обеих границах интервала (или в середине и конце);

  • жесткие ОДУ, которые не поддаются решению стандартными методами типа Рунге-Кутта и для которых имеются специальные алгоритмы.

Рассмотрим некоторые из них подробнее, причем будем приводить листинги математических задач, а затем примеры решения практических задач из курса “Физическая химия”.

Оду первого порядка

В MathCad для решения ОДУ первого порядка применяется метод Рунге-Кутта 4 порядка. Этот метод осуществляется встроенной функцией оdesolve(t,t1). Запись уравнения и начального условия y(t0) осуществляется в блоке Given. Решение осуществляется относительно переменной t на интервале [t0,t1]. Все равенства в блоке – булевые, т. е. жирные знаки =. В программе 29 приведен пример решения того же дифференциального уравнения, что и в программах 26–28. Из программы также видны особенности построения графиков решения и вывода результата расчета на экран.

Этот способ решения дифференциального уравнения можно использовать и для расчетов изменений термодинамических функций в химической реакции по уравнениям (A-Г) так, как это сделано в программе 30. Решением y(t) в данном случае является изменение энтальпии в химической реакции. Сравнивая результаты работы программ 30 и 22, можно убедиться в том, что расчет изменения энтальпии реакции по дифференциальному уравнению и интегральным формам совпадают. Начало программы – исходные данные пропущены. Вам надо их скопировать из программы 22.

Программа 29

Программа 30

Оду второго и выше порядка

Решение ОДУ второго порядка в принципе ничем не отличается от решения ОДУ первого порядка. Так же в блоке Givenodesolve описывается само дифференциальное уравнение и вслед за ним – два (а не одно как в ОДУ первого порядка) начальных условия – для функции и для ее первой производной (программа 31). Постоянные и функции, входящие в дифференциальное уравнение, можно (и нужно!) объявлять вне блока Given.

Программа 31

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

(66)

Решая это уравнение, мы получаем величину rG0T , по которой легко рассчитать константу равновесия реакции. Первой производной rG0T является rS0T (см. таблицу 7). Начальным решением в этом случае будет rG0298 и ее первая производная rS0298. Программа 32, также как и программа 30, является лишь заключительным фрагментом полной программы, так как начало программы – ввод табличных данных и вычисление изменений термодинамических функций при стандартной температуре 298 К – пропущены. Их можно скопировать из программы 22.

С помощью MathCad можно решать уравнения и более высоких порядков, при этом если порядок производной равен n, то нужно указывать и n начальных условий.

ОДУ высоких порядков (в том числе и второго) можно привести к решению системы из n дифференциальных уравнений первого порядка. Это делают методом замены переменных. Преимущество решения системы дифференциальных уравнений состоит в том, что в качестве решения кроме функции получаем ее первые, вторые и т. д. до n-1 производной.

Например, уравнение (66) можно привести к системе из двух уравнений первого порядка:

(67)

Программа 32