
- •Лабораторная работа №13.Решение уравнений в Mathcad. Дифференциальное и интегральное исчисление
- •13.1Решение уравнений в Mathcad
- •Функция поиска корней уравнения
- •Функция поиска корней многочлена
- •Решение систем линейных уравнений
- •Решение нелинейных уравнений и их систем
- •Поиск максимальных и минимальных значений функции
- •13.2Вычисление пределов, производных и интегралов в Mathcad
- •13.3Решение дифференциальных уравнений в Mathcad
- •Обыкновенные дифференциальные уравнения первого и второго порядка, линейные относительно высшей производной
- •Обыкновенные дифференциальные уравнения, нелинейные относительно высшей производной, и системы обыкновенных дифференциальных уравнений первого порядка, нелинейных относительно производной
- •Системы обыкновенных дифференциальных уравнений высших порядков
- •Решение дифференциальных уравнений и их систем в частных производных
- •13.4Работа с комплексными числами в Mathcad
- •13.5Функции обработки экспериментальных данных в Mathcad
Системы обыкновенных дифференциальных уравнений высших порядков
В 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 позволяет решать то же уравнения Пуассона в частных производных, но при произвольных граничных условиях.