Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 14 (2 курс).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
329.22 Кб
Скачать

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

В 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.

Решение дифференциальных уравнений и их систем в частных производных

В Mathcad присутствует несколько функций для решения дифференциальных уравнений двух неизвестных. Основной является функция pdesolve(u,x1, range1,x2,range2,[pts1],[pts2]), где u – вектор, содержащий имена неизвестных функций (скалярная переменная для одиночного уравнения); x1 и x2 – имена переменных интегрирования; range1 и range2 – векторы, содержащие начальное и конечное значение каждой из переменных интегрирования, pts1 и pts2 – необязательные аргументы, определяющие количество точек интегрирования по первой и второй переменной.

Уравнения и их начальные условия для функции pdesolve, как и для функции odesolve, записываются в блоке решения уравнения после служебного слова given. При этом для корректного решения уравнения необходимо при записи уравнений писать частные производные в следующей форме: не , а , не , а , в противном случае Mathcad не распознает производные как частные.

Функция numol обладает еще более широкими возможностями и более сложным синтаксисом. Позволяет решать системы из дифференциальных и алгебраических уравнений нескольких переменных, записанные в матричной форме.

Для облегчения решения конкретных задач в Mathcad присутствует еще несколько функций для решения конкретных физико-математических задач. Функция multigrid служит для решения уравнения Пуассона в частных производных для случая строго нулевых граничных условий. Функция relax позволяет решать то же уравнения Пуассона в частных производных, но при произвольных граничных условиях.