Лит МатКад / Введение в MathCad
.pdf
Фазовая траектория автономной системы
|
2 |
|
|
|
|
|
1.5 |
|
|
|
|
3 |
1 |
|
|
|
|
Y |
|
|
|
|
|
|
0.5 |
|
|
|
|
|
0 |
10 |
20 |
30 |
40 |
|
|
|
Y 2 |
|
|
Рис. 11.14. Фазовая траектория
Пример 11.13. Построить графики решения и фазовой траектории системы Вольтерра-Лотка
|
y′(t) = |
(a − |
by |
2 |
(t))y (t), |
||||
|
1 |
|
|
|
|
1 |
|
|
|
|
y′(t) = |
(− c |
+ |
dy |
(t))y |
2 |
(t), |
||
2 |
|
|
|
|
1 |
|
|
||
ãäå a, b, c, d – положительные числа, с начальными условиями
y1(0) |
= 1, y2 (0) |
= |
|
2. |
|
|||
Исходные данные |
|
|
|
|
||||
ORIGIN := 1 |
|
|
|
|
|
|
|
|
a := 2 |
b := 3 |
|
|
|
c := 1 |
d := 5 |
||
Начальные данные |
|
|
|
|||||
|
1 |
|
|
|
|
|
|
|
y := |
2 |
|
|
|
|
|
|
|
Решение поставленной задачи |
||||||||
|
(a − |
|
by2) y1 |
|||||
D(x, y) := (− c + |
dy1) y2 |
|||||||
Y := |
rkfixed(y, |
0 |
, |
18 |
, |
2000 |
, D) |
|
|
|
|
|
|
||||
121
Графики решения
|
|
4 |
|
|
|
|
Y |
|
3 |
|
|
|
|
|
2 |
|
|
|
|
|
Y |
|
2 |
|
|
|
|
|
3 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
0 |
4.5 |
9 |
13.5 |
18 |
Y 1
Рис. 11.15. Графики решения
Фазовая траектория системы
4
3
Y 3 2
1
0 0.5 1 1.5 2
Y 2
Рис. 11.16. Фазовая траектория
Известно, что линейная автономная система с невырожденной матрицей
|
y′(t) = a |
y (t) |
+ |
a |
12 |
y |
2 |
(t), |
|||||
|
1 |
11 |
1 |
|
|
|
|
|
|
||||
|
y′(t) = a |
21 |
y (t) |
+ |
a |
22 |
y |
2 |
(t) |
||||
2 |
1 |
|
|
|
|
|
|
||||||
имеет единственную точку покоя (0, 0).
Характер точки покоя можно установить по собственным значениям матрицы системы:
A = |
|
a |
11 |
a |
12 |
|
|
|
|
|
|||
|
|
a21 |
a22 |
|
||
|
|
. |
||||
|
|
|
|
|
|
122 |
Векторное поле автономной системы задает в каждой точке плоскости 0y1y2 направление касательной к фазовой траектории системы, проходящей через эту точку. Точки векторного поля, в которых векторное поле нулевое, называются особыми точками векторного поля. Точки покоя автономной системы являются особыми точками векторного поля.
Пример 11.14. Определить характер точки покоя линейной автономной системы
|
y′(t) = |
y (t) |
− |
y |
2 |
(t), |
||
|
1 |
1 |
|
|
|
|
|
|
|
y′(t) = |
2y (t) |
− |
y |
2 |
(t) |
||
2 |
1 |
|
|
|
|
|
||
и изобразить фазовые кривые и векторное поле. Вычисление собственных значений
ORIGIN |
:= |
1 |
|
|
|
|
|
|
A := |
|
1 |
− 4 |
|
eigenvals ( A) = |
|
2.646i |
|
|
2 |
− 1 |
|
|
− 2.646i |
|
||
Собственные значения, комплексные числа и действительная часть равна нулю. Точка покоя устойчива, но не асимптотически устойчива и называется центром [2, 3]
D(x, y) := |
|
y1 − 4y2 |
|
|
2y1 − y2 |
|
|
|
|
Решение автономной системы для различных начальных
значений |
|
− 1 |
|
|
|
|
|
|
|
|
|
|
x := |
X1 := |
rkfixed(x, − |
2 |
, |
2 |
, |
200 |
, D) |
||||
|
1 |
|
||||||||||
|
|
|
|
|
|
|
|
|
||||
x := |
|
1 |
|
X2 := |
rkfixed(x, − |
2 |
, |
2 |
, |
200 |
, D) |
|
|
− 2 |
|
||||||||||
|
|
|
|
|
|
|
|
|
||||
x := |
|
− 2 |
|
X3 := |
rkfixed(x, − |
2 |
, |
2 |
, |
200 |
, D) |
|
|
2 |
|
||||||||||
|
|
|
|
|
|
|
|
|
||||
x := |
|
− 1 |
|
X4 := |
rkfixed(x, − |
2 |
, |
2 |
, |
200 |
, D) |
|
|
2 |
|
||||||||||
|
|
|
|
|
|
|
|
|
123
Фазовые траектории системы
|
|
|
|
|
|
4 |
|
|
|
X1 |
3 |
|
|
|
|
2 |
|
|
|
X2 |
3 |
|
|
|
|
|
|
|
|
X3 3 |
6 |
4 |
2 |
0 |
2 |
4 |
6 |
||
X4 |
3 |
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
X1 2 , X2 2 , X3 2 , X4 2 |
|
||||
Рис. 11.17. Фазовые траектории
Построение векторного поля i := 1 .. 20
y1i := − 2 + 0.2 i |
y2j := − |
2 + 0.2 j |
Y1(i, j) := y1i − 4 y2j |
Y2(i, j) := |
2 y1i − y2j |
(Y1, Y2)
Рис. 11.18. Векторное поле
124
11.4. Аналитическое решение дифференциальных уравнений
Решение некоторых дифференциальных уравнений можно получить в аналитическом виде.
Уравнение в виде
P(x)dx + Q(y)dy = 0
называется дифференциальным уравнением с разделяющимися переменными. Общий интеграл этого уравнения имеет вид
∫P(x)dx + ∫Q(x)dy = C .
Пример 11.15. Найти общий интеграл дифференциального уравнения
(1 − e2x )y2dy − exdx = 0 .
Общий интеграл дифференциального уравнения
|
⌠ |
|
⌠ |
x |
|||
|
|
|
|||||
|
|
2 |
e |
||||
F(x, y, C) := |
|
y dy − |
|
dx − C |
|||
2 x |
|||||||
|
⌡ |
|
|
1 + e |
|||
|
|
|
|
⌡ |
|
|
|
Аналитическое решение уравнения |
|||||||
F(x, y, C) → |
|
1 |
y3 − |
atan(exp(x)) − C |
|||
3 |
|||||||
|
|
|
|
|
|||
Дифференциальное уравнение вида |
|||||||
dy(x) + p(x)y(x) |
= q(x) |
|
|
||||
dx |
|
|
|
|
|
|
|
называется линейным дифференциальным уравнением первого порядка. Общее решение этого уравнения
y(x) = µ(1x) (∫q(x)µ(x)dx + C),
ãäå (x) = e∫p(x)dx .
125
Пример 11.16. Найти общее решение линейного дифференциального уравнения вида
dy(x) − |
2 |
y(x) = |
2x3 . |
|
|||||
|
|
||||||||
dx |
x |
|
|
|
|||||
Исходные данные |
|
|
|||||||
p(x) := |
− |
2 |
|
q(x) := |
2x3 |
||||
|
|
|
|
|
|||||
|
x |
||||||||
|
|
|
|
|
|||||
|
|
⌠ |
|
|
|
||||
|
|
p(x) dx |
|
|
|||||
µ (x) := |
|
⌡ |
|
|
|
||||
e |
|
|
|
||||||
Общее решение ⌠ |
|
|
|||||||
|
|
1 |
|
|
|
|
|||
y(x, C) := |
|
|
|
|
|
|
q(x) µ (x) dx + C |
||
|
|
|
µ (x) |
||||||
|
|
|
|
|
⌡ |
|
|
||
y(x, C) → |
|
|
x2 (x2 + C) |
|
|
||||
Используя преобразование Лапласа, можно найти аналитическое решение задачи Коши.
Пример 11.17. С помощью преобразования Лапласа найти решение задачи Коши для дифференциального уравнения
dy(t) + |
y(t) = |
sin t |
, |
y(0) = 0. |
|
||
|
dt |
|
|
|
|
|
|
Находим прямое преобразование Лапласа |
|
||||||
|
d |
y(t) + |
y(t) − |
sin(t) |
|
|
|
|
|
|
|
||||
|
dt |
|
|
|
|
|
|
has Laplace transform |
|
|
|
||||
slaplace(y(t) , t, s) − |
y( |
) + laplace(y(t) , t, s) − |
1 |
||||
(s2 + 1) |
|||||||
|
|
|
|
|
|
0 |
|
Введем обозначение L = laplace(y(t),t,s), примем во внимание начальное условие и решим полученное уравнение относительно L.
126
В результате получим
s L + L − |
1 |
|
|
has solution(s) |
( 2 |
) |
1 |
|
2 |
|
|
|
|
||||
|
s + |
1 |
s + |
1 |
(s + |
) |
||
|
|
|||||||
|
|
|
|
|
1 |
|||
Применим к полученному выражению обратное преобразование Лапласа и получим аналитическое решение исходной задачи
1 |
|
|
has inverse Laplace transform |
1 |
exp(− t) |
− |
1 |
cos(t) + |
1 |
sin(t) |
||||||||||
(s2 + 1) (s + 1) |
||||||||||||||||||||
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
2 |
2 |
2 |
|||||||||||
Пример 11.18. Найти аналитическое решение задачи Коши |
||||||||||||||||||||
|
d2y(t) + |
4 dy(t) + |
4y(t) = t2e− 2t , y(0) |
= 0, |
y′(0) = 0 . |
|||||||||||||||
|
dt2 |
|
dt |
|
|
|
|
|
|
|
|
|
||||||||
Выполняем прямое преобразование Лапласа |
|
|
|
|||||||||||||||||
|
d2 |
|
y(t) + 4 |
d |
y(t) + 4 y(t) − t2 e− 2 t |
|
|
|
|
|
|
|||||||||
|
dt2 |
|
|
|
|
|
|
|
||||||||||||
|
|
dt |
|
|
|
|
|
|
|
|
|
|||||||||
has Laplace transform |
|
|
|
|
|
|
|
|
|
|||||||||||
s(slaplace(y(t) , t, s) − y(0)) − |
|
t ← 0 |
+ 4s laplace(y(t) , t , s) − 4y(0) + |
4laplace(y(t) , t , s) |
||||||||||||||||
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
d |
y(t) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dt |
|
|
|
|
|
|
|
|
|
||
Введем обозначение L = laplace(y(t),t,s), примем во внимание начальное условие и решим полученное уравнение относительно L. В результате получим
s (s L) + |
4 s L + |
4 L − |
2 |
|
|
|
has solution(s) |
|
|
|
2 |
|
|
|
|
|
|
2) |
3 |
2 |
+ 4 s + 4) |
||||
|
|
3 |
||||||||||
|
|
|
(s + |
) |
|
|
|
(s + |
|
(s |
||
|
|
|
|
2 |
|
|
|
|
|
|
|
|
Получение аналитического решения исходной задачи
|
|
|
2 |
|
has inverse Laplace transform |
1 |
t4 exp(− 2 t) |
(s + |
2) |
|
(s + |
4 s + 4) |
|
||
|
|
3 |
2 |
|
|
12 |
|
127
12. Программирование в MathCAD
MathCAD располагает возможностью для создания программных блоков (модулей). Средства программирования расположены в панеле Programming (рис. 12.1).
Рис. 12.1. Панель Programming
Программный модуль есть ни что иное, как функция пользователя с именем и параметрами, выделенными в тексте жирной вертикальной чертой. В модуле можно присваивать значения локальным переменным, создавать условные переходы, циклы.
Оператор Add Line создает программный блок. Оператор ← – оператор локального присвоения. Локаль-
ная переменная определена только внутри блока и при выходе из блока теряет свое значение.
Оператор if |
– условный оператор, который создает кон- |
|||
струкцию вида |
|
if |
|
. Если условие выполняется, то |
|
|
|||
возвращается значение выражения слева. Совместно с оператором if можно использовать оператор иного выбора
otherwise. Оператор |
|
if совместно с оператором otherwise |
||||||
образует конструкцию |
|
|
||||||
|
|
Åñëè |
....... Òî |
....... Иначе. |
||||
Пример 12.1. Построить график функции |
||||||||
|
|
1 − |
x |
2 |
, |
åñëè |
õ |
≤ 1, |
y(x) = |
|
|
||||||
|
x2 |
− |
|
|
|
|
>1. |
|
|
|
1, |
åñëè |
õ |
||||
|
|
|
|
|
|
|
|
|
Конструирование пользовательской функции, используя операторы if и otherwise
128
y(x) := |
1 − |
x2 |
if |
x ≤ |
1 |
|
|
x2 − |
1 |
otherwise |
|
|
|
График функции |
|
|
|
|||
|
|
|
|
4 |
|
|
|
|
|
|
3 |
|
|
|
y(x) |
|
|
2 |
|
|
|
|
|
|
1 |
|
|
|
|
2 |
1 |
0 |
1 |
2 |
x
Рис. 12.1. График функции
Оператор for – оператор цикла с заданным числом повторений. Конструкция оператора for
for
Первый операнд – переменная цикла, и ее значения определяются во втором операнде первой строки. Третий операнд (вторая строка) – тело цикла.
Пример 12.2. Найти среднее арифметическое значение функции
y(x) = |
|
cos x, |
åñëè |
0 ≤ |
x ≤ π / 4, |
|
sin x, |
åñëè |
x |
> π / 4 |
|
|
|
в точках xi = 0,2i , i = 1, 2, . . . , 10 . Пользовательская функция
|
|
|
|
|
|
π |
|
|
|
|
|
|
|||
f (x) := |
cos(x) |
if (x ≥ |
0) |
|
x ≤ |
|
|
|
|||||||
|
|
|
|
|
|
4 |
|
|
sin(x) |
otherwise |
|
|
|
|
|
|
|
|
129 |
|
|
|
|
Вычисление среднего арифметического
SumA(n) := |
S ← |
0 |
|
||
|
|
for |
k 1 |
.. n |
|
|
|
|
S ← |
S + |
f (0.2k) |
|
|
S |
|
|
|
|
|
|
|
|
|
|
|
n |
|
|
|
SumA(10) = |
0.90855 |
|
|||
Оператор while – оператор циклов, действующий до тех пор, пока выполняется некоторое условие. Условие проверяет-
ся перед началом каждого цикла. Конструкция оператора while
while
Первый операнд – условие. Второй – тело цикла.
Пример 12.3. Вычислить квадратный корень из числа А с точностью 0.00001, используя итерационную формулу
xn |
= |
xn− 1 |
+ |
|
A |
|
|
|
|
|
|
|
|
|
|
|
|
2 |
2xn− 1 . |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
KvK(a) := |
|
x0 ← |
|
a |
|
|
|
|
|
|
|
|
||||
|
|
2 |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
R ← 1 |
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
> 0.00001 |
|||||||||||
|
|
|
|
|
while |
R |
|||||||||||
|
|
|
|
|
|
|
x1 ← |
|
x0 |
+ |
|
a |
|
||||
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
2 |
|
2 x0 |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
R ← |
|
x1 − |
x0 |
|
||||||
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
x0 ← |
|
x1 |
|
|
|
|
||||
|
|
|
|
|
x1 |
|
|
|
|
|
|
|
|
|
|
|
|
130
