Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MathCad.doc
Скачиваний:
10
Добавлен:
17.09.2019
Размер:
1.75 Mб
Скачать

Лабораторная работа № 9. Решение дифференциальных уравнений

Цель: научиться решать дифференциальные уравнения в среде MathCAD.

При решении дифференциальных уравнений искомой величиной является функция. Для обыкновенных дифференциальных уравнений неизвестная функция — функция одной переменной. Чтобы решение было единственным, задают дополнительные условия — начальные или краевые, которые определяют тип задачи: задача Коши или кра­евая задача. Рассмотрим как в MathCAD решается задача. Коши.

Все встроенные функции MathCAD предназначены для решения за­дачи Коши нормальных систем дифференциальных уравнений; зада­ча Коши для одного уравнения сводится к решению задачи для си­стемы. Задача Коши ставится следующим образом:

y’1 = f1(x, y1, y2, … , yn), y1(0) = y0,1,

y’2 = f2(x, y1, y2, … , yn), y2(0) = y0,2,

……………………….

y’n = fn(x, y1, y2, … , yn), yn(0) = y0,n.

Численное решение этой задачи состоит в построении таблицы приближенных значений yi,1, yi,2…, yi,,n, решения y1(x), у2(х),уn(х) на отрезке [x0, xN] в точках x0, x1, xN, которые называются узлами сетки.

Систему, содержащую производные высших порядков и разрешен­ную относительно старших производных искомых функций, путем введения новых неизвестных функций можно привести к нормальному виду. В частности, для дифференциального уравнения n-го порядка

у(n) = f(x,у, у', у''..., y(n-1)), полагая у' =: u1 (х), у" = u2(х),...., y(n-1) = yn-1, у(n) = fn(x, y , u1…, un-1), будем иметь эквивалентную нор­мальную систему из n дифференциальных уравнений первого поряд­ка относительно функций y, u1, u2,..., un-1:

y’(x) = u1(x),

u’1(x) = u2(x),

…………..

u’n-2(x) = un-1(x),

u’n-1(x) = f(x, y(x), u1(x), …, un-1(x)).

В MathCAD задачу Коши для нормальной системы можно решить с помощью разных встроенных функций, среди которых наиболее про­стыми являются функции, реализующие широко распространенный метод Рунге-Кутта четвертого порядка:

Наиболее часто используются функции, которые ищут решение широко распространенным методом Рунге-Кутта четвертого поряд­ка.

rkfixed (y, xa, xb, Npoints, D) - решение задачи Коши на отрезке с постоянным шагом;

Rkadapt (y, xa, xb, Npoints, D) - решение задачи Коши на отрезке с автоматическим выбором шага.

Параметрами обеих функций являются:

у вектор начальных условий размерности п, где п — поря­док дифференциального уравнения или число уравнений в системе. Для дифференциального уравнения первого порядка вектор началь­ных условий вырождается в одну точку у0.

xa, xb - граничные точки интервала, на котором ищется решение дифференциальных уравнений. Начальные условия, задаваемые в векторе начальных условий - это значения решения в точке xa.

Npoints - число точек, не считая начальной, в которой ищет­ся приближенное решение. Этот параметр определяет число строк (1 + Npoints) в матрице результатов.

D(x,y) - функция, которая возвращает в виде вектора из п эле­ментов значения первых производных неизвестных функций (правые части дифференциальных уравнений системы).

В результате решения получается матрица, число столбцов кото­рой на, единицу больше порядка дифференциального уравнения или числа уравнений в системе. Первый столбец матрицы содержит зна­чения узлов, т.е. точек, в которых ищется решение. Второй столбец содержит значения искомой функции в узлах, а оставшиеся столб­цы значения производных, начиная с первой и до (n-1)-й включи­тельно. Для дифференциального уравнения первого порядка матрица решения состоит всего из двух столбцов: значений узлов и значений найденного решения в. этих узлах. Вывод таблицы на экран, как обычно, осуществляется, набором символа обычного равенства «i»; при этом если щелкнуть по полю появившейся таблицы - то можно просмотреть ее всю, используя стрелки прокрутки.

В качестве примера рассмотрено решение задачи Коши для уравнения первого порядка:

у'(х) = у(х) - 2х/у(x), на промежутке от 0 до 6 с начальным условием y(0) = 1. Для этого уравнения известно точное решение задачи: . Варьируя число разбиений проме­жутка интегрирования, можно проследить, как сходится приближен­ное решение к точному. Обращение к функции rkfixed и полученные результаты приведены в примере.

Для решения уравнений порядка выше первого, помимо разрешения уравнения относительно старшей производной, необходимо свести за­дачу к задаче для нормальной системы дифференциальных уравне­ний. Например, задачу Коши для уравнения второго порядка у"(х) +у'(х) - 2у(х) = 0 с начальными условиями у(0) = 1- у'(0) = 3 преобразуем в нормальную систему, вводя обозначения у' = и1(х), y" = и2(x). Поскольку y"(x) = - у'(x)+ 2 у(х), то получим систему:

у'(х) = u1(х), у(0) = 1,

у'1 (х) = - u1(х) + 2у, u1(0) = 3.

В примере показано, как задать исходные векторы началь­ных значений и первых производных (векторы U и D). С помощью функции rkfixed на отрезке от 0 до 6 получено два решения: с задава­емым числом разбиений (N) и учетверенным числом разбиений (4N). Сравнение двух решений приведено на графике.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]