Электронный курс по MathCAD
- 5.2 Решение дифференциальных уравнений и систем.(Задача Коши и граничные задачи).
- Решение одиночного дифференциального уравнения.
- Численное решение задачи Коши для дифференциальных уравнений и систем.
- Решение граничных задач для обыкновенных дифференциальных уравнений.
- Решение дифференциальных уравнений mathcad rkfixed
- 28. Тема 7. Решение дифференциальных уравнений и систем в MathCad. Краткие теоретические сведения
- 🔍 Видео
5.2 Решение дифференциальных уравнений и систем.(Задача Коши и граничные задачи).
Решение одиночного дифференциального уравнения.
Для численного решения одиночного дифференциального уравнения в MathCAD имеется функция Odesolve, с помощью которой может быть решена как задача Коши для обыкновенного дифференциального уравнения, так и граничная задача. Эта функция входит в состав блока решения и сявляется его заключительным ключевым словом.
Odesolve(x,b,[step]) — Возвращает функцию, которая является решением дифференциального уравнения. Используется в блоке с оператором Given.
x — переменная интегрирования, действительное число
b — конечная точка отрезка интегрирования
step — величина шага по переменной интегрирования (необязательный аргумент)
Замечания:
- Уравнение должно быть линейным относительно старшей производной.
- Число заданных начальных или граничных условий внутри блока должно быть равно порядку уравнения.
- При записи уравнения для обозначения производных функции используйте специальные кнопки с панели Math или ‘ (штрих) — [Ctrl+F7], для знака равенства = [Ctrl+=] (в том числе и для дополнительных условий).
- Конечная точка должна быть больше начальной.
- Не допускаются начальные и граничные условия смешанного типа (f ‘(a)+f(a)=5).
- Искомая функция в блоке дложна быть обязательно с аргументом ( f(x))
Численное решение задачи Коши для дифференциальных уравнений и систем.
Для численного решения задачи Коши для дифференциальных уравнений и систем могут быть использованы функции:
rkfixed(y,x1,x2,n,F) — возвращает матрицу решений системы уравнений методом Рунге-Кутта 4-го порядка при фиксированном шаге по x
rkadapt(y,x1,x2,n,F) — ищет решение с переменным шагом ( там, где решение меняется медленнее, шаг увеличивается, а в области быстрого изменения решения шаг функции уменьшается). Возвращается решение с равным шагом. Функция работает быстрее, чем rkfixed
Bulstoer(y,x1,x2,n,F) — дает более точное решение (методом Bulirsch-Stoer)
Агрумкнты вышеуказанных функций:
y — вектор начальных условий
x1,x2 — границы интервала для поиска решения
n — количество точек на интервале
F(x,y) — вектор-функция первых производных
При решении дифференциальных уравнений порядка выше первого (или систем уравнений, выше первого порядка) исходное уравнение (систему) необходимо преобразовать к системе дифференциальных уравнений первого порядка.
В результате работы укзанных функций рассчитывается матрица, количество стобцов которой равно порядку уравнения +1(или сумме порядков уравнений в системе +1), а количество строк равно параметру n. Первый столбец содержит значения независимой переменной, второй — значение функции, третий — для диф. уравнений 2-го порядка — значение производной искомой функции (если решается система двух уравнений 1-го порядка, то третий столбец будет содержать значения второй функции). Для выделения решений (функций или их производных) можно воспользоваться стандартным оператором вывода столбцов матрицы M < >
Если матрица правых частей дифференциальных уравнений почти вырождена, то такие системы называются жесткими. В этом случае решения, возвращаемые функцией rkfixed будет неустойчивым и для решения таких систем необходимо применять функции Stiffb , Stiffr
Stiffb(y,x1,x2,n,F,J) — ищет решение диф. уравнения или системы дифференциальных уравнений методом Bulirsch-Stoer
Stiffr(y,x1,x2,n,F,J) — ищет решение диф. уравнения или системы дифференциальных уравнений методом Rosenbrock
y = | Вектор начальных условий размерности n, где n — порядок дифференциального уравнения или число уравнений в системе (если решается система уравнений). Для дифференциального уравнения первого порядка, как, например, для уравнения, приведенного на Рисунке 1, вектор начальных значений вырождается в одну точку y0 = y(x1). |
x1, x2 = | Граничные точки интервала, на котором ищется решение дифференциальных уравнений. Начальные условия, заданные в векторе y, — это значение решения в точке x1. |
npoints = | Число точек (не считая начальной точки), в которых ищется приближенное решение. При помощи этого аргумента определяется число строк (1 + npoints) в матрице, возвращаемой функцией rkfixed. |
D (x, y) = | Функция, возвращающая значение в виде вектора из n элементов, содержащих первые производные неизвестных функций. |
Наиболее трудная часть решения дифференциального уравнения состоит в определении функции D(x, y), которая содержит вектор первых производных от неизвестных функций. В примере, приведенном на Рисунке 1, было достаточно просто разрешить уравнение относительно первой производной , и определить функцию D(x, y). Иногда, особенно в случае нелинейных дифференциальных уравнений, это может быть трудно. В таких случаях иногда удаётся разрешить уравнение относительно в символьном виде и подставить это решение в определение для функции D(x, y). Используйте для этого команду Решить относительно переменной из меню Символика.
Рисунок 2: Более сложный пример, содержащий нелинейное дифференциальное уравнение.
Дифференциальные уравнения второго порядка
Как только Вы научились решать дифференциальное уравнение первого порядка, можно приступать к решению дифференциальных уравнений более высокого порядка. Мы начнем с дифференциального уравнения второго порядка. Основные отличия от уравнения первого порядка состоят в следующем:
- Вектор начальных условий y теперь состоит из двух элементов: значений функции и её первой производной в начальной точке интервала x1.
- Функция D(t, y) является теперь вектором с двумя элементами:
Пример, приведенный на Рисунке 3, показывает, как решить следующее дифференциальное уравнение второго порядка:
Рисунок 3: Решение дифференциального уравнения второго порядка.
Уравнения более высокого порядка
Методика решения дифференциальных уравнений более высокого порядка является развитием методики, которая применялась для решения дифференциальных уравнений второго порядка. Основное различие состоит в следующем:
- Вектор начальных значений y теперь состоит из n элементов, определяющих начальные условия для искомой функции и ее производных y, y’ , y». y (n-1)
- Функция D является теперь вектором, содержащим n элементов:
Пример, приведенный на Рисунке 4, показывает, как решить следующее дифференциальное уравнение четвертого порядка:
с начальными условиями:
Рисунок 4: Решение дифференциального уравнения более высокого порядка.
Исправляем ошибки: Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Видео:Решение дифференциальных уравнений в вычислительной среде Mathcad с помощью функционала Rkadapt .Скачать
28. Тема 7. Решение дифференциальных уравнений и систем в MathCad. Краткие теоретические сведения
Для решения дифференциальных уравнений с начальными условиями система Mathcad имеет ряд встроенных функций:
Rkfixed – функция для решения ОДУ и систем ОДУ методом Рунге–Кутта четвертого порядка с постоянным шагом;
Rkadapt – функция решения ОДУ и систем ОДУ методом Рунге–Кутта с переменным шагом;
Odesolve – функция, решающая ОДУ блочным методом.
Ниже приведено описание стандартной функции Rkfixed с указанием параметров функции.
Y – вектор начальных условий из K элементов (k – количество уравнений в системе);
X1 и X2 – левая и правая границы интервала, на котором ищется решение ОДУ или системы ОДУ;
P – число точек внутри интервала (x1, x2), в которых ищется решение;
D – вектор, состоящий из K-Элементов, который содержит первую производную искомой функции или первые производные искомых функций, если речь идет о решении системы.
Результатом работы функции является матрица из p+1 строк, первый столбец которой содержит точки, в которых получено решение, а остальные столбцы – сами решения.
На рисунке 2.7.1 приведены конкретные примеры решения различных дифференциальных уравнений и систем ОДУ в MathCAD.
При решении дифференциального уравнения первого порядка нужно создать вектор начальных условий из одного элемента Y1, который затем используется при формировании вектора-функции правой части дифференциального уравнения. При обращении к функции Rkfixed Указывается имя вектора Y, границы интервала, на котором ищется решение уравнения, например, (0 ; 2), количество точек, в которых ищется решение – 100, вектор-функция, описывающая правую часть дифференциального уравнения – D. В результате получается матрица Z, в первом столбце которой содержатся значения аргумента искомой функции, во втором – значения самой результирующей функции. При построении графика функции первый столбец полученной матрицы указывается как аргумент, второй столбец – как функция.
При решении системы дифференциальных уравнений нужно создать вектор начальных условий из двух элементов, например, вектор V, который затем используется при формировании вектора-функции правой части дифференциального уравнения. При обращении к функции Rkfixed Указывается имя вектора V, и границы интервала, на котором ищется решение уравнения, например, (0 ; 5), количество точек, в которых ищется решение – 100, вектор-функция, описывающая правую часть дифференциального уравнения – D. В результате получается матрица S, в первом столбце которой содержатся значения аргумента искомых функций, во втором и третьем столбцах – значения самих функций при соответствующем значении аргумента. При построении графика можно воспользоваться первым столбцом полученной матрицы как аргументом, а вторым и третьим столбцами – как функциями.
На рисунке 2.7.2 приведен пример решения дифференциального уравнения второго порядка с использованием функции Rkfixed. Необходимо решить дифференциальное уравнение второго порядка с заданными начальными условиями вида:
Рисунок 2.7.2 – Пример решения дифференциальных уравнений второго порядка с помощью Rkfixed
Для решения уравнения с помощью функции Rkfixed нужно выполнить замену переменных и привести дифференциальное уравнение второго порядка к двум дифференциальным уравнениям первого порядка. Вид этих уравнений приведен ниже.
Документ формируется точно так же, как и при решении системы ОДУ.
На рисунке 2.7.2 показана возможность вычисления вектора второй производной найденной функции – вектора А, построены графики исходной функции, функций первой и второй производных.
🔍 Видео
1 Одно уравнениеСкачать
Mathcad-10. Пример: дифференциальные уравненияСкачать
6 Обыкновенные дифференциальные уравнения MathcadСкачать
Пример решения уравнения в MathCAD 14 (33/34)Скачать
Решение дифференциальных уравнений. Решение задачи Коши. Урок 45Скачать
Решение задачи Коши в MathCADСкачать
Mathcad - Differential EquationsСкачать
Пример решения системы уравнений в MathCAD 14 (34/34)Скачать
8 Дифференциальные уравнения в частных производных MathcadСкачать
Mathcad Линейные дифференциальные уравнения первого порядкаСкачать
Числовое решение. Функция polyroots в MathCAD 14 (27/34)Скачать
Ключевое слово solve в MathCAD 14 (26/34)Скачать
Решение дифференциальных уравнений. Динамика популяций, уравнения Вольтера. Урок 48Скачать