Физическое описание → Математическая модель → Компьютерная модель
2. Постановка задачи
3. Обзор методов решения ОДУ и систем ОДУ
4. Стандартные функции для решения ОДУ и систем ОДУ в Mathcad
4.1. Использование функции rkfixed
4.3. Использование функции Odesolve
5. Примеры решения ОДУ первого порядка 5.1. Использование функции rkfixed
5.2. Использование функции Odesolve
5.4. Примеры решения ОДУ второго порядка
2.00M
Category: mathematicsmathematics

Лекция_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.

duc
uc
C
J
dt R(t )
05.05.2026
8

9. Физическое описание → Математическая модель → Компьютерная модель

di E i R u
dt
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.

y1
y
05.05.2026
y1
y
40

41. 5.2. Использование функции Odesolve

При решении с помощью функции Odesolve
результатом является аналитически заданная
функция y(x), значения которой могут быть
вычислены для множества значений х (выполняется
табулирование функции).
Функция в решающем блоке всегда записывается
с аргументом, y(x).
В строке создании решения с использованием
Odesolve без аргументов, только имя функции, y :=.
В примере аргумент функции определен как
дискретная переменная.
05.05.2026
41

42.

05.05.2026
42

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.2026
46

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 – v1
y – 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.2026
55

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.

a
a
05.05.2026
60

61.

То же самое дифференциальное уравнение
второго порядка можно решить блочным методом с
помощью Odesolve
Внутри решающего блока записать уравнение
второго порядка в исходном виде и начальные
условия.
В результате применения функции Odesolve
получится функция y(t).
Можно построить график полученной функции и
ее первой производной, причем аргумент функции –
переменная t не нуждается в дополнительном
описании (?).
05.05.2026
61

62.

05.05.2026
62

63.

Задание 8. Решить диф. уравнение 2 порядка
y y (14 16 x) e
x
на интервале от 0 до 1, при следующих
начальных условиях: y(0)=1 и y′(0) = -1.
Количество точек выбрать самостоятельно.
05.05.2026
63
English     Русский Rules