Системы обыкновенных дифференциальных уравнений высших порядков

В Mathcad не предусмотрено функций для решения систем дифференциальных уравнений порядка выше двух. Однако это ограничение легко обходится методом замены переменных. Например, необходимо решить следующее дифференциальное уравнение:

,
которое необходимо решить функциями rkfixed и др. В этом случае достаточно ввести новую функцию, например,

.

Если записать это определение наоборот, получится первое из двух уравнений новой системы ОДУ первого порядка. Подстановкой этой функции в основное уравнение и переносом остальных членов в правую часть создадим второе уравнение системы. Итоговая система ОДУ первого порядка будет иметь вид:

,
которую, по описанной выше методике, приводят к стандартному виду Mathcad. Если имеет место система нескольких уравнений высоких порядков, такая методика позволяет привести ее к системе уравнений первого порядка, но с большим количеством уравнений.

Иногда поиск решения на всем интервале квантования с достаточной точностью может занять слишком много времени, а для анализа поведения системы необходимо знать лишь поведение ее решения вблизи конца интегрирования. Для этого в Mathcad предусмотрены аналоги функций решения дифференциальных уравнений: rkadapt, bulstoer, stiffb, stiffr и radau (пишутся с малой буквы). Синтаксис функций практически одинаков (кроме матрицы Якоби в функциях stiffb и stiffr): rkadapt (Y, x1, x2, acc, D, kmax, s), где Y, x1, x2, D аналогичны одноименным функциям полного интегрирования; acc – характеристика точности (чем меньше acc, тем точнее, но дольше расчет, 0,001 даст очень высокую точность); kmax – длина интервала, в точках, на которой производится интегрирование (конец интервала совпадет с x2); s – шаг между точками интервала интегрирования.

Также бывают ситуации, когда постановка задачи не дает пользователю всех необходимых начальных значений, но вместо этого имеется достаточное количество граничных или промежуточных значений (значений функций и их производных на конце интервала интегрирования или в его промежуточных точках). В этом случае можно использовать функции sbval (вычисляет недостающие начальные значения при известных граничных) и bvalfit (вычисляет недостающие начальные значения при известных промежуточных). Синтаксис и работу этих функций студентам рекомендуется изучить самостоятельно по электронным книгам Mathcad.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: