В версию системы MathCAD 2000 Professional введена новая функция odesolve, которая возвращает решение на интервале [a, b] задачи Коши обыкновенного дифференциального уравнения порядка n, линейного относительно старшей производной
.
Функция имеет формат odesolve(t,b,[step]), где t – переменная, b –конецотрезка интегрирования, [step]– число шагов на интервале [a, b] (необязательный параметр). Если число шагов не указано, то решение выполняется с автоматическим выбором шага (адаптивно) и время счета может возрасти. Дифференциальное уравнение и начальные условия записываются в вычислительном блоке, начинающемся директивой Given (в переводе с англ. дано, произведено). При их записи используется знак булева равенства = с математической панели (палитры) Boolean (Булевы операторы). Вычислительный блок заканчивается обращением к функции odesolve.
Рассмотрим пример решения дифференциального уравнения первого порядка
, (1)
с начальным условием и построение графика (рис. 30, а):
Для проверки найденное в документе MathCAD решение продифференцируем и сравним график производной с графиком функции (рис. 30, б). Указанные графики практически совпадают.
Примep решения дифференциального уравнения первого порядка с помощью функции odesolve и вычислительного блока Given
а
б
Рис. 30. Пример использования функции odesolve
Графики интегральных кривых – решений дифференциального уравнения (1) для пяти различных начальных условий построены в следующем документе MathCAD и на рис. 31.
Построение интегральных кривых дифференциального уравнения первого порядка с помощью функции odesolveи вычислительного блока Given
Рис. 31. Построение интегральных кривых с помощью функции odesolve
Рассмотрим пример решения дифференциального уравнения второго порядка
(2)
с начальными условиями .
Ниже приведен документ MathCAD[7], график функции (рис. 32 а), а также графики функций и второй производной (найденной по приближенному решению) (рис. 32, б). Из последнего рисунка видно, что графики совпадают всюду, кроме концов интервала, где велика погрешность определения .
Примep решения дифференциального уравнения второго порядка с помощью функции odesolve и вычислительного блока Given
Проверка решения
а
б
Рис. 32. Пример дифференциального уравнения второго порядка с помощью функции odesolve
Фазовые траектории решений уравнения (3) с различными начальными условиями построены в следующем документе MathCAD.
Построение фазовых траекторий дифференциального уравнения второго порядка с помощью функции odesolve и вычислительного блока Given
Рис. 33. Построение фазовых траекторий с помощью функции odesolve
Поскольку результат вычислений производных , в начальной точке равен нулю, то для получения правильного результата использована очень малая добавка eps.