Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лит МатКад / Введение в MathCad

.pdf
Скачиваний:
45
Добавлен:
17.05.2015
Размер:
1.23 Mб
Скачать

Фазовая траектория автономной системы

 

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) = ep(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 e2 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

Соседние файлы в папке Лит МатКад