9.3.2. Решение одного уравнения (N=1)



Метод решения ОДУ при помощи встроенных функций rkfixed, Rkadapt или Bulstoerпротивоположность вычислительному блоку Given/ odesoive) сохранился с прежних версий Mathcad (до 2000-й). В большинстве случаев лучше использовать вычислительный блок Given/odesolve, который выигрывает в простоте и в наглядности, однако иногда предпочтительнее решать ОДУ первого порядка с помощью второго способа, например, при следующих обстоятельствах:

  •  вы работаете одновременно с более старыми (до 2001-й включительно) версиями Mathcad и хотите, чтобы ваши документы воспринимались каждой из них корректно;
  •  одно ОДУ решается в контексте решения более сложных задач, в которые входят системы дифференциальных уравнений (для которых вычислительный блок неприменим) — в этом случае может потребоваться единый стиль программирования;
  •  ответ предпочтительнее получить в виде вектора, а не функции;

  • вы привыкли к записи ОДУ в старых версиях Mathcad, у вас много документов, созданных с их помощью, и т. п.


Поскольку решение вторым способом одного ОДУ не отличается от решения систем ОДУ (см. предыдущий разд.), приведем пример его использования (листинг 9.4) практически без комментариев. Отметим лишь в случае одного ОДУ, что как само уравнение, так и начальное условие можно задавать не в векторной, а в скалярной форме. Результат выдается в виде матрицы размерности мх2, которая состоит из двух столбцов: в одном находятся значения аргумента t (от t0 до t1 включительно), а в другом соответствующие значения искомой функции у (t).



Рис. 9.7. Решение уравнения у'=1-у2 (продолжение листинга 9.4)


Построение графика (рис. 9.7) осуществляется так же, как и в рассмотренном в предыдущем разделе случае N уравнений, при помощи выделения столбцов из матрицы решения посредством оператора <>

Листинг 9.4. Решение задачи Коши для ОДУ первого порядка.