Similar presentations:
Лекция_MathCad_ДУ
1.
Тема 5.Моделирование и решение
дифференциальных
уравнений и их систем в
Mathcad
1
2.
1. Формы представления динамических моделейМодель - это система, исследование которой
служит средством для получения информации о
другой системе,
представляющей некоторый
реальный процесс или устройство.
Математическая модель — это приближённое
описание какого-либо класса явлений внешнего
мира, выраженное математическими символами.
Динамическая модель
состояния объекта.
05.05.2026
описывает изменение
2
3.
• Пример нелинейнойнестационарной
модели- модель
тракторной сцепки
mx" + kсц(t)x' + Fсц(x)= -TT(t) + TП(t)
3
4.
• Примермногомерной
нелинейной системы
m1 x1 a1 x1 a 2 ( x 2 x1 ) c1 x1 c 2 ( x 2 x1 ) k1 x13 k 2 ( x 2 x1 ) 3 F1
m x a ( x x ) c ( x x ) k ( x x ) 3 F
2
2
1
2
2
1
2
2
1
2
2 2
05.05.2026
4
5.
• Пример представлениямодели в виде системы
дифференциальных
уравнений:
F(t)
m1
К
C2
Z1
C1/2
C1/2
m2
Z2
d 2 Z1 (t )
dZ1 (t ) dZ 2 (t )
m1
C
1
Z
(
t
)
C
2
(
Z
(
t
)
Z
(
t
))
K
(
) F (t ) 0
1
1
2
2
dt
dt
dt
d 2 Z 2 (t )
dZ1 (t ) dZ 2 (t )
m2
C
2
(
Z
(
t
)
Z
(
t
))
K
(
) 0
1
2
2
dt
dt
dt
05.05.2026
5
6.
• Пример представлениямодели в виде системы
интегродифференциальных
уравнений
ппвап
05.05.2026
6
7.
Примеры моделей электрических цепейdi E i R u
dt
L
du i I (u )
dt
C
05.05.2026
7
8.
ducuc
C
J
dt R(t )
05.05.2026
8
9. Физическое описание → Математическая модель → Компьютерная модель
di E i R udt
L
du i I (u )
dt
C
05.05.2026
9
10. 2. Постановка задачи
Изучение реальных явленийсостоит из двух этапов:
или
объектов
• составление
математической
модели
(дифференциального уравнения или системы
дифференциальных уравнений, описывающих
то или иное явление или объект)
• исследование получившейся модели
05.05.2026
10
11.
Дифференциальное уравнение — это уравнение, вкоторое входят производные функции, может входить
сама функция, независимая переменная и параметры.
Порядок входящих в уравнение производных может
быть различен.
Порядок дифференциального уравнения – это
наивысший порядок производных, входящих в него.
Производные, функции, независимые переменные и
параметры могут входить в уравнение в различных
комбинациях или могут отсутствовать, кроме хотя бы
одной производной.
05.05.2026
11
12.
Вотличие
от
алгебраических
уравнений,
результатом решения которых является одно или
несколько
чисел,
результатом
решения
дифференциального уравнения является функция
(семейство функций).
Дифференциальное уравнение порядка выше
первого можно преобразовать в систему уравнений
первого порядка, в которой число уравнений равно
порядку исходного дифференциального уравнения.
Обыкновенные
дифференциальные
уравнения
(ОДУ) — это уравнения, содержащие одну
независимую переменную, они имеют вид
05.05.2026
12
13.
Дифференциальноеуравнение
первого
порядка,
разрешенное относительно первой производной имеет вид
y′ = f (x, y), (1)
(1) - это форма записи дифференциального уравнения,
разрешенного относительно первой производной
(форма Коши)
05.05.2026
13
14.
Системадифференциальных
уравнений,
разрешенных относительно первой производной
имеет вид:
y1′= f1(x, y1, ..., ym),
...
ym′= fm(x, y1, ..., ym),
05.05.2026
14
15.
Решением уравнения (1) на промежутке [a, b]называется
функция
φ(x),
обращающая
уравнение в тождество на [a, b]
φ′(x) ≡ f (x, φ(x))
График решения называется интегральной
кривой Iφ.
05.05.2026
15
16.
Уравнение (1) имеет множество решений.Для того чтобы выделить одно из них, нужны
дополнительные условия.
Такими условиями могут быть начальные условия –
требование, чтобы решение (функция) в заданной точке
(обычно начале интервала х0=а) принимала заданное
значение:
y(x0 ) = y0
(2)
Задача о нахождении решения уравнения (1),
удовлетворяющего начальному условию (2), называется
задачей Коши.
05.05.2026
16
17.
Геометрическая трактовка уравнения (1).В каждой точке фазового пространства это
уравнение задает направление касательной к
интегральной кривой, т.к. указывает, чему должна
равняться производная в точке с координатами (x, y)
φ′(x) = f(x, φ(x)).
Фазовое пространство в теории динамических систем – абстрактное пространство, каждая точка которого соответствует состоянию динамической системы
Если в каждой точке пространства вектором
(1, f(x,y)) указать направление касательной, то
получившийся объект называют полем направлений,
отвечающим уравнению (1)
05.05.2026
17
18.
Интегральная кривая должна "касаться"векторного поля в каждой своей точке.
05.05.2026
18
19. 3. Обзор методов решения ОДУ и систем ОДУ
Для решения ОДУ и систем ОДУ существует рядметодов.
Методы
делятся
на
приближенные (численные).
аналитические
Аналитические методы позволяют
функцию решения в явном виде.
и
получить
Приближенные методы получают результат в
численном виде с заданной точностью.
05.05.2026
19
20.
Историческипервым
методом
решения
дифференциальных
уравнений
был
метод
разложения в ряды Ньютона.
Искомое решение разлагается в ряд (например,
Тейлора) с неизвестными коэффициентами.
Этот ряд подставляется в уравнение и из
получившегося уравнения находятся коэффициенты.
05.05.2026
20
21.
Примеры аналитических методов решения ОДУy(x)
05.05.2026
21
22.
Исходная система ОДУ05.05.2026
Решение системы ОДУ
22
23.
К приближенным методам относятся:• метод последовательных приближений
• конечно-разностные методы
• метод Эйлера
• методы Рунге-Кутта
05.05.2026
23
24.
Наиболееэффективными
и
встречаемыми методами решениями
Коши являются методы Рунге – Кутта.
часто
задачи
Они основаны на приближении искомой
функции φ(x) в пределах каждого шага
многочленом, который получен при помощи
разложения функции f(x,y) в окрестности каждой
точки в ряд Тейлора.
05.05.2026
24
25. 4. Стандартные функции для решения ОДУ и систем ОДУ в Mathcad
Для решения дифференциальных уравненийс начальными условиями
система Mathcad
имеет ряд встроенных функций:
• rkfixed – функция для решения ОДУ и систем
ОДУ методом Рунге–Кутта четвертого
порядка с постоянным шагом
05.05.2026
25
26.
• Rkadapt – функция решения ОДУ исистем ОДУ методом Рунге–Кутта с
переменным шагом
• Odesolve – функция решения ОДУ и
систем ОДУ блочным методом
05.05.2026
26
27. 4.1. Использование функции rkfixed
Синтаксис функции:rkfixed (y, x1, x2, p, D)
Аргументы функции:
• y – вектор начальных условий из k элементов (k
– количество уравнений в системе)
• x1 и x2 – левая и правая границы интервала, на
котором ищется решение ОДУ или системы
ОДУ
05.05.2026
27
28.
• p – число точек внутри интервала (x1, x2), в которыхищется решение
• D – вектор, состоящий из k элементов (функций),
который содержит первую производную искомой
функции или первые производные искомых функций
системы уравнений (т.е. правые части уравнений,
записанных в форме Коши)
Результатом работы функции является матрица из
p+1 строки, первый столбец которой содержит точки,
в которых получено решение (значения аргумента), а
остальные столбцы – сами решения (значения функции
(функций) и ее (их) производных).
05.05.2026
28
29.
4.2. Использование функции rkadaptСинтаксис функции:
Rkadapt (y, x1, x2, p, D)
Назначение параметров то же, что и для функции
rkfixed.
05.05.2026
29
30.
Существует модифицированная функцияrkadapt(y,x1,x2, acc, p, D, k, s),
в которой добавлены параметры:
• k – максимальное число промежуточных точек
решения
• s – минимально допустимый интервал между
точками
• acc – погрешность решения (рекомендуется
порядка 0.001)
05.05.2026
30
31.
Обычнофункция
Rkadapt,
благодаря
автоматическому изменению шага решения, дает более
точный результат, но по скорости вычислений она
проигрывает функции rkfixed.
Если решение (результирующая функция) меняется
медленно, функция Rkadapt может привести к
заметному уменьшению числа вычислений.
Поэтому функция Rkadapt более пригодна для ОДУ,
результатом решения которых являются медленно
меняющиеся функции.
05.05.2026
31
32. 4.3. Использование функции Odesolve
Синтаксис функции:Odesolve (x, b)
- для уравнений
Odesolve (y, x, b) - для систем уравнений
Аргументы функции:
• b – правая граница интервала, на котором
ищется
решение
дифференциального
уравнения;
левая
граница
интервала
определяется из начальных условий
05.05.2026
32
33.
• х – переменная, относительно которой ищетсярешение ОДУ
• y – вектор имён искомых функций (для систем
ОДУ)
В результате работы функции Odesolve
формируется функция, являющаяся решением
дифференциального уравнения относительно
аргумента х.
05.05.2026
33
34.
При решении ОДУ и систем ОДУ с помощьюфункции
Odesolve
необходимо
организовать
решающий блок по аналогии с решающим блоком
для решения систем алгебраических уравнений.
Последовательность выполнения:
• задается ключевое слово Given
решающего блока)
05.05.2026
(начало
34
35.
• задается вид дифференциального уравненияв исходном виде без преобразования к форме Коши
знак производной можно задать с помощью
комбинации клавиш Ctrl+F7 (y′), а знак равенства
необходимо задавать с помощью кнопки логического
равенства на палитре знаков логических операций (=)
• задаются начальные условия, при этом используется
знак логического равенства
• формируется
результирующая
функция
использованием функции Odesolve с параметрами.
05.05.2026
с
35
36.
Все вычислительные блоки, расположенныемежду зарезервированными словами Given и
Odesolve, называются решающим блоком для
решения дифференциальных уравнений и систем.
05.05.2026
36
37. 5. Примеры решения ОДУ первого порядка 5.1. Использование функции rkfixed
Задание 1. Решить уравнение y′ = - y+2x наинтервале [0 , 2] при начальном условии y(0)=1
Это уравнение уже находится в форме задачи
Коши. Преобразовывать его не нужно.
При решении дифференциального уравнения
первого порядка нужно создать вектор начальных
условий y из одного элемента (т.к. одно уравнение),
имя которого затем используется при формировании
вектор-функции D правой части дифференциального
уравнения.
05.05.2026
37
38.
При обращении к функции rkfixed указывается:• имя вектора y
• границы интервала, на котором находится
решение уравнения, (0 , 2)
• количество точек, в которых ищется решение,
например, 100
• вектор-функция, описывающая правую часть
дифференциального уравнения – D
05.05.2026
38
39.
В результате получается матрица (например, z), впервом столбце которой содержатся значения
аргумента искомой функции, во втором – значения
самой результирующей функции.
При построении графика функции первый
столбец полученной матрицы указывается как
аргумент, второй столбец как функция.
05.05.2026
39
40.
y1y
05.05.2026
y1
y
40
41. 5.2. Использование функции Odesolve
При решении с помощью функции Odesolveрезультатом является аналитически заданная
функция y(x), значения которой могут быть
вычислены для множества значений х (выполняется
табулирование функции).
Функция в решающем блоке всегда записывается
с аргументом, y(x).
В строке создании решения с использованием
Odesolve без аргументов, только имя функции, y :=.
В примере аргумент функции определен как
дискретная переменная.
05.05.2026
41
42.
05.05.202642
43.
Задание 2. Решить уравнениеxy'+ y-cos( x) =0 на
интервале
[π/2, 3π] с разными начальными
условиями:
05.05.2026
43
44.
Решим уравнение для первого начальногоусловия, y1(х) - найденное решение.
Уравнение записывается в исходном виде.
05.05.2026
44
45.
Аналогично создаются решающие блоки длянахождения функций y2(x), y3(x), y4(x) для
указанных в условии задачи начальных условий.
Затем задается дискретная переменная и строятся
графики всех найденных функций
05.05.2026
45
46.
05.05.202646
47.
Задание 3.Решить уравнение двумя
способами (с помощью функций rkfixed и
odesolve)
на интервале [0.2 , 5] в 1000 точках при
начальном условии y(0.2)=0.1
Построить график интегральной функции.
05.05.2026
47
48.
5.3. Решение систем ОДУПри решении систем ОДУ из двух уравнений
первого порядка нужно найти две неизвестные
функции. Если используется функция rkfixed, то
необходимо, чтобы искомые функции были
элементами одного вектора, поэтому потребуется
выполнить замену переменных.
Также нужно создать вектор начальных условий
для двух функций из двух элементов, например,
вектор v, имя которого затем используется при
формировании вектора-функции правых частей
дифференциальных уравнений.
05.05.2026
48
49.
При обращении к функции rkfixed указываетсяимя вектора v, границы интервала, на котором
ищется решение уравнения, например, (0;5),
количество точек, в которых ищется решение,
например, 100, вектор-функция, описывающая
правые части дифференциальных уравнений – D.
В результате получается матрица (например, s), в
первом столбце которой содержатся значения
аргумента искомых функций, во втором и третьем
столбцах – значения самих функций при
соответствующем значении аргумента.
При построении графиков первый столбец
используется как аргумент, а второй и третий
столбцы – как функции.
05.05.2026
49
50.
x – v1y – v2
ORIGIN:=1
05.05.2026
50
51.
Задание 4. Решить систему ОДУ на интервале [0 , 5]Замена переменных:
x – v1
y – v2
05.05.2026
51
52.
ORIGIN:=1- вектор начальных условий
s:=rkfixed (v, 0, 5, 100, D)
05.05.2026
52
53.
Решение с помощью функции OdesolveПри решении с помощью функции Odesolve нужно
создать решающий блок, в котором в исходном
математическом
виде
записать
систему
дифференциальных уравнений (при вводе знака
производной можно использовать клавиши Ctrl+F7) и
начальные условия. Знак равенства это логическое =
Функции
в
решающем
записываются с аргументами!
блоке
всегда
А в строке формирования решения с
использованием Odesolve без аргументов, только
имена функций!
05.05.2026
53
54.
Результат записывается в вектор из двухэлементов,
в
котором
указываются
имена
результирующих функций – решений системы.
В качестве первого аргумента функции Odesolve
также используется вектор, в котором содержатся
имена тех функций, которые использовались в
решающем блоке.
Результатами решения являются две функции,
например, x(t) и y(t).
05.05.2026
54
55.
05.05.202655
56.
Задание 5. Найти решение системы ОДУx 3 x 5 y
y 2 x 3 y
на интервале от 0 до 2 в 200 точках, при следующих
начальных условиях: x(0)=1 и y(0)=1.
Задание 6. Решить систему диф. уравнений
на интервале от 0 до 0.5, при следующих начальных
условиях: x(0)=0.1 и y(0)=1. Количество точек
выбрать самостоятельно
05.05.2026
56
57. 5.4. Примеры решения ОДУ второго порядка
Задание 7. Решить дифференциальное уравнениевторого порядка с заданными начальными
условиями вида:
y y 2 y
y (0) 1 y (0) 3
на интервале от 0 до 1 в 500 точках
05.05.2026
57
58.
Для решения уравнения с помощью функции rkfixedнужно выполнить замену переменных и привести
дифференциальное уравнение второго порядка к двум
дифференциальным уравнениям первого порядка.
Обозначим y как y1, а y1 ′ как y2,
тогда y2 ′= y1′′ = y′′,
Получим систему уравнений:
x
x
05.05.2026
58
59.
Документ формируется точно так же, как и прирешении системы ОДУ. В результате решения
получается матрица, первый столбец которой –
значения аргумента x, второй – значения функции
y(x), третий – значения производной функции y′(x).
Для вычисления значений второй производной
найденной функции – (вектора а) нужно
использовать второе уравнение системы, подставив
в него вместо функции и ее производной значения
из 2 и 3 столбцов найденной матрицы.
Если в выражении для вычисления второй
производной есть произведение двух векторов,
нужно использовать операцию векторизации!
z<2> *z<3> или (z<2>)2
05.05.2026
59
60.
aa
05.05.2026
60
61.
То же самое дифференциальное уравнениевторого порядка можно решить блочным методом с
помощью Odesolve
Внутри решающего блока записать уравнение
второго порядка в исходном виде и начальные
условия.
В результате применения функции Odesolve
получится функция y(t).
Можно построить график полученной функции и
ее первой производной, причем аргумент функции –
переменная t не нуждается в дополнительном
описании (?).
05.05.2026
61
62.
05.05.202662
63.
Задание 8. Решить диф. уравнение 2 порядкаy y (14 16 x) e
x
на интервале от 0 до 1, при следующих
начальных условиях: y(0)=1 и y′(0) = -1.
Количество точек выбрать самостоятельно.
05.05.2026
63
mathematics