Матричные вычисления в Mathcad


Дифференциальное уравнение Nго порядка



9.2. Дифференциальное уравнение N-го порядка



Для решения ОДУ порядка N>1 в Mathcad предусмотрены две возможности:

  • вычислительный блок Given/odesolve (начиная с версии 2000) — в этом случае решение имеет вид функции от t;
  •  встроенные функции решения систем ОДУ, причем уравнения высших порядков необходимо предварительно свести к эквивалентной системе уравнений первого порядка, как об этом рассказано в разд. 9.1.1, — в этом случае решение имеет формат вектора.


В данном разделе рассматривается первый из вариантов, а второй будет описан в следующем, применительно к общему случаю системы N уравнений. Заметим лишь, что первый путь предпочтительнее из соображений наглядности представления задачи и результатов, а второй дает пользователю больше рычагов воздействия на параметры численного метода.

Вычислительный блок для решения ОДУ, реализующий численный метод Рунге—Кутты, состоит из трех частей:

  •  Given — ключевое слово;
  •  ОДУ и начальные условия в формате y(t0)=b, записанные с помощью логических операторов, которые должны набираться на панели инструментов Boolean (Булевы операторы);
  •  odesoive(t,ti) — встроенная функция для решения ОДУ относительно переменной t на интервале (t0,t1), причем t0<t1.


Примечание 1
Примечание 1


На запись ОДУ в пределах вычислительного блока накладывается несколько ограничений. Во-первых, ОДУ должно быть линейно относительно старшей производной, т. е. фактически должно быть поставлено в стандартной форме. Во-вторых, начальные условия должны иметь форму у (t0) =b или y(N) (t0) =b, а не более сложную (как, например, встречающаяся в некоторых математических приложениях форма у (t0)+y' (t0)=b).



Примечание 2
Примечание 2


Допустимо, и даже часто предпочтительнее, задание функции Odesoive (t,t1, step) с тремя параметрами, где step— внутренний параметр численного метода, определяющий количество шагов в которых метод Рунге—Кутты будет рассчитывать решение дифференциального уравнения. Чем больше step, тем с лучшей точностью будет получен результат, но тем больше времени будет затрачено на его поиск. Помните, что подбором этого параметра можно заметно (в несколько раз) ускорить расчеты без существенного ухудшения их точности.



Пример решения задачи Коши для ОДУ второго порядка, являющегося усложнением модели из листинга 9.1 на нелинейный случай (с параметром квадратичной нелинейности у)> приведен в листинге 9.2, а результат — на Рисунок 9.4. Учтите, что символ производной допускается вводить как средствами панели Calculus (Вычисления), как это сделано в листинге 9.1, так и в виде штриха, набрав его с помощью сочетания клавиш <Ctrl>+<F7> (как в листинге 9.2). Выбирайте тот или иной способ представления производной из соображений наглядности представления результатов — на ход расчетов он не влияет.









Начало  Назад  Вперед


Книжный магазин