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

Dyukarev, Litvinova Diff

..pdf
Скачиваний:
26
Добавлен:
23.02.2015
Размер:
1.42 Mб
Скачать

 

 

 

Аудиторні

 

Домашні

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

t

 

 

 

 

№ 21.2. x(t) t x(s)ds 1 t2.

№ 21.8. x(t) s x(s)ds 1.

 

 

 

 

0

 

 

 

0

 

 

 

 

Розв’язати інтегральні рівняння із

Розв’язати інтегральні рівняння із

виродженими ядрами:

виродженими ядрами:

 

 

 

 

 

t

 

 

t

 

 

 

№ 21.3.

x(t) x(s)ds et.

№ 21.9.

x(t) 2 x(s)ds 1.

 

 

 

0

 

 

 

 

0

 

 

 

№ 21.4.

 

 

 

№ 21.10.

 

 

 

 

 

 

 

t

1

 

 

t

 

 

 

 

 

 

 

 

 

3

3

 

3

 

x(t) sin(t s)x(s)ds

 

.

x(t) t

s

x(s)ds t

 

.

1 t2

 

0

 

 

 

 

0

 

 

 

 

За допомогою диференціювання

За допомогою диференціювання

розв’язати

інтегральні рівняння:

розв’язати

інтегральні рівняння:

№ 21.5.

 

 

 

№ 21.11.

 

 

 

 

 

 

 

t

 

 

 

 

t

 

 

 

 

x(t) (t s) x(s)ds 4et 3t 4.

x(t) (t s) x(s)ds t 1.

0

 

 

 

 

0

 

 

 

 

№ 21.6.

 

 

 

№ 21.12.

 

 

 

 

 

 

1

t

 

 

 

t

 

 

 

 

 

x(t)

(t s)2 x(s)ds sint.

x(t) sh(t s) x(s)ds cht.

2

0

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22. Розв’язання звичайних диференціальних рівнянь

за допомогою Maple

Існує ряд пакетів прикладних програм (Derive, Maple, MathCad, Mathematica, MatLab), використання яких значно полегшує проведення викладок як при розв’язанні математичних проблем, так і при математичному моделюванні.

Ми розглянемо основні прийоми роботи в Maple, необхідні для дослідження звичайних диференціальних рівнянь. Більш детальну інформацію про Maple можна знайти в [12, 13].

101

1.

Розглянемо

прийоми

знаходження

загального

розв’язку

диференціального рівняння 1 порядку:

 

 

 

 

 

F(t, x(t), x(t)) 0.

 

(22.1)

де F - неперервна диференційована функція, визначена в області 3.

Розв’язком рівняння (22.1) називається функція x(t), що визначена та неперервно диференційована при t ( , ) така, що:

точка (t,x(t)) при всіх t ( , );

F(t,x(t),x(t)) 0 при всіх t ( , ).

Для здобуття загального розв’язку рівняння (22.1) в Maple можна скористатися,

наприклад, командами:

ODE:=F(t,x(t),diff(x(t),t))=0;

dsolve(ODE,x(t));

Перша з цих команд присвоює змінній ODE вихідне рівняння (у вигляді diff(x(t),t) у Maple записується похідна x(t)). Друга команда розв’язує рівняння

ODE відносно функції x(t).

Приклад 22.1. Знайти загальний розв’язок рівняння x t2e x .

Розв’яжемо це рівняння у Maple за допомогою команд:

> ODE:=diff(x(t),t)=t*t*exp(-x(t));

ODE :=

d

x(t) t2

e( x(t))

dt

 

 

 

 

 

 

> dsolve(ODE,x(t));

 

 

 

 

 

 

 

 

t3

 

 

 

 

 

 

 

_C1

 

 

 

 

x(t) ln

3

 

 

 

 

 

 

.

У другому рядку міститься вихідне диференціальне рівняння, як його

зрозумів Maple, у четвертому – розв’язок вихідного рівняння. Зауважимо, що у розв’язку, який здобув Maple, символ _C1 позначає довільну сталу. Приведене у прикладі рівняння було раніше розв’язане в прикладі 1.1. При цьому множина

всіх

розв’язків

була

отримана

у

вигляді

ex t3

C,

C .

 

 

 

 

 

 

3

 

 

102

Очевидно, що ця множина розв’язків збігається із множиною розв’язків, яку здобув Maple.

Приклад 22.2. Знайти загальний розв’язок рівняння tx x t tg x. t

Розв’яжемо це однорідне рівняння у Maple за допомогою команд:

> eq:=t*diff(x(t),t)-x(t)=t*tan(x(t)/t);

d

 

x(t)

eq :=

 

 

x(t)

t x(t) t tan

 

 

 

 

 

 

 

t

 

dt

 

 

 

> dsolve(eq,x(t));

 

 

 

 

 

x(t) arcsin(t _C1) t .

 

 

Приклад 22.3. Знайти загальний розв’язок рівняння x x t.

Розв’яжемо це рівняння у Maple за допомогою наступних команд:

> eq31:=diff(x(t),t)-x(t)=t;

 

 

 

 

 

d

 

eq31

:=

 

 

x(t) x(t) t

 

 

 

 

 

dt

 

> dsolve(eq31,x(t));

x(t) t 1 et _C1 .

Відповідь Maple збіглась із розв’язком цього лінійного неоднорідного рівняння

x(t) C et (t 1),

Ñ , що було отримані раніше (дивись приклад 3.1.).

Приклад 22.4. Знайти загальний розв’язок рівняння

 

 

e xdt (2x te x )dx 0.

 

Перетворімо

це рівняння до вигляду (2x te x )x

e x . Тепер

розв’яжемо за допомогою команд:

> eq41:=(2*x(t)+t*exp(-x(t)))*diff(x(t),t)=exp(-x(t));

 

( x(t))

d

 

( x(t))

eq41

:= (2 x(t) t e

)

 

 

x(t) e

 

 

 

 

 

 

 

 

 

 

dt

 

 

> dsolve(eq41,x(t));

t (x(t)2 _C1) ex(t) 0 .

103

2. Для виділення із множини всіх розв’язків диференціального рівняння єдиного розв’язку потрібні початкові умови. Диференціальне рівняння із доданими початковими умовами називається задачею Коші:

x f (t,x(t))

.

(22.2)

 

x(t0) x0

 

 

Де f (t, x) – неперервно диференційована

функція в області

2 та

(t0,x0) .

Розв’язком задачі Коші (22.2) називається неперервно диференційована на ( , ) функція x(t) така, що:

точка (t,x(t)) при всіх t ( , ),

x(t) f (t,x(t)) при всіх t ( , ),

x(t0) x0 .

Для того, щоб розв’язати задачу Коші (22.2), можна скористатися,

наприклад, командами:

ODE:=diff(x(t),t)=f(t,x(t));

dsolve({ODE,x(t0)=x0},x(t));

Фігурні дужки в команді dsolve позначають диференціального рівняння та початкової умови.

Приклад 22.5. Знайти розв’язок задачі Коші:

 

e

t

x

 

 

(1 et ) x .

 

x(0) 1

Розв’яжемо задачу за допомогою команд:

> eq13:=diff(x(t),t)=exp(t)/((1+exp(t))*x(t));

 

d

et

eq13 :=

 

x(t)

 

dt

(1 et ) x(t)

> dsolve({eq13,x(0)=1},x(t));

поєднання вихідного

.

x(t) 2 ln(1 et ) 2 ln(2) 1 .

104

Отриманий раніше (дивись приклад 1.3.) розв’язок x

1 2ln

1 et

 

цієї задачі

2

 

 

 

 

Коші збігається із розв’язком, що отримав Maple.

 

 

 

3. При пошуку розв’язку

рівнянь, не розв’язаних відносно похідної,

застосування розглянутих команд

часто призводить

до незручного подання

розв’язку, що шукався.

 

Приклад 22.6. Знайти загальний розв’язок рівняння

 

t exp(x) x .

(22.3)

Розв’яжемо рівняння за допомогою команд:

> eq51:=t=exp(diff(x(t),t))+diff(x(t),t);

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

x(t)

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

eq51

:= t e

 

 

 

 

 

 

x(t)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

.

 

> dsolve(eq51,x(t));

 

 

 

 

 

 

 

 

 

 

 

x(t)

1

LambertW(et )

2 LambertW(et )

t2

_C1

 

 

2

 

 

 

 

 

 

 

 

2

.

 

 

 

 

 

 

 

 

 

 

 

 

Цей розв’язок виданий із використанням спеціальної функції Ламберта

LambertW, що визначена рівнянням LambertW(x) * exp(LambertW(x)) = x .

Однак раніше, розв’язуючи вихідне рівняння ( див. приклад 5.1.), ми

отримали розв’язок у більш зручному параметричному вигляді:

t ep p

 

p

2

 

.

x (p 1)ep

 

C,

C

2

 

 

 

Для отримання у Maple розв’язку вихідного рівняння у параметричному вигляді скористаємось командами:

>eq51:=t=exp(diff(x(t),t))+diff(x(t),t);

 

 

d

 

 

 

 

 

 

 

 

 

 

x(t)

d

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

eq51

:= t e

 

 

 

 

 

 

 

x(t)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

.

>dsolve (eq51,x(t),implicit,parametric);

t(_T) e_T _T, x(_T) _T e_T e_T _2T2 _C1 .

105

Відзначимо, що символом _T Maple позначає параметр.

Таким чином, для отримання розв’язку в параметричному вигляді слід використовувати команди:

ODE:=F(t,x(t),diff(x(t),t))=0;

dsolve(ODE,x(t),implicit,parametric);

4. При розв’язанні деяких диференціальних рівнянь Maple може отримати не всі розв’язки.

Приклад 22.7. Розв’язати рівняння

 

x tx 1 x2 .

(22.4)

Розв’яжемо рівняння за допомогою команд:

>eq53:=x(t)=t*diff(x(t),t)+sqrt(1+(diff(x(t),t))^2);

 

d

 

d

2

 

 

eq53

:= x(t) t

 

x(t)

1

 

x(t)

 

 

 

 

 

 

 

 

dt

 

dt

.

>dsolve(eq53,x(t));

x(t) t _C1

1 _C12 .

Рівняння (22.4) – це рівняння Клеро, що, як відомо, має загальний та особливий розв’язки. Maple знайшов тільки загальний розв’язок.

Спробуємо розв’язати задачу так:

>dsolve(eq53,x(t),implicit,parametric);

 

_T

 

1

 

 

t(_T)

 

 

 

, x(_T)

 

 

 

 

2

 

 

2

 

1 _T

 

 

1 _T

 

 

 

 

 

 

.

Зараз ми отримали тільки особливий розв’язок.

Для отримання усіх розв’язків потрібно скористатися спеціальними командами для розв’язання рівняння Клеро:

>with (DEtools):

>clairautsol(eq53);

{x(t)

 

1

 

 

1

t2, x(t) t _C1

1 _C12 }

1 t2

1 t2

 

 

 

 

 

.

 

 

 

 

 

 

 

106

Тепер за допомогою Maple отримані всі розв’язки рівняння (22.4).

Команда with (DEtools) потрібна для підключення спеціального пакета

DEtools. Такі пакети розвиваються із кожною новою версією Maple.

Наведемо ще деякі з команд пакета DEtools, що можна використовувати при розв’язанні звичайних диференціальних рівнянь:

bernoullisol(deqn,vars) – розв’язання рівняння Бернуллі; clairautsol(deqn,vars) – знаходження розв’язку рівняння Клеро; eulersols(deqn,vars) – розв’язання рівняння Ейлера; exactsol(deqn,vars) – розв’язання рівняння у повних диференціалах.

Приклад 22.8. Знайти загальний розв’язок рівняння

e xdt (2x te x )dx 0.

>eq41:=(2*x(t)+t*exp(-x(t)))*diff(x(t),t)=exp(-x(t));

 

( x(t))

d

 

( x(t))

eq41

:= (2 x(t) t e

)

 

x(t) e

 

 

 

 

 

 

 

.

 

 

dt

 

Підключимо пакет Detools: >with(DEtools):

Застосуємо спеціальну команду розв’язання рівнянь у повних диференціалах: >exactsol(eq41,x(t));

{ t e( x(t)) x(t)2 _C1 0} .

Така форма розв’язку співпадає із типовим виглядом розв’язку рівняння у повних диференціалах U(t,x) C, C . (Порівняйте з прикладом 22.4).

5. Розглянемо неоднорідне лінійне диференціальне рівнянням n-го порядку зі сталими коефіцієнтами:

 

a0x(n) a1x(n 1) anx f (t),

(22.6)

де a0,a1, ,an ,

a0 0 і неперервна функція f : , f 0.

 

Для отримання загального розв’язку рівняння (22.6) можна використати

команди:

ODE:=a0*diff(x(t),t$n)+a1*diff(x(t),t$(n-1))+…+an*x(t)=f(t); dsolve(ODE,x(t));

107

Приклад 22.9. Знайти загальний розв’язок рівняння

x 2x 8x 0.

Розв’яжемо це однорідне рівняння за допомогою команд:

>eq71:=diff(x(t),t$2)+2*diff(x(t),t)-8*x(t)=0;

 

d2

 

d

 

 

eq71 :=

 

 

x(t) 2

 

 

 

x(t) 8 x(t) 0

 

2

 

 

 

 

 

.

dt

 

 

dt

 

>dsolve(eq71,x(t));

x(t) _C1 e( 4 t) _C2 e(2 t) .

Приклад. 22.10. Знайти загальний розв’язок рівняння

x x x x 0.

Розв’яжемо це рівняння за допомогою команд:

 

 

 

 

 

 

 

 

>eq75:=diff(x(t),t$4)-diff(x(t),t$3)+diff(x(t),t)-x(t)=0;

 

 

 

 

 

 

 

 

 

d4

 

 

d3

 

 

 

 

d

 

 

 

 

 

 

 

 

 

eq75 :=

 

 

x(t)

 

 

 

x(t)

 

 

x(t) x(t) 0

 

 

 

4

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

dt

 

 

 

dt

 

 

 

 

 

dt

 

 

 

 

 

 

 

>dsolve(eq75,x(t));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

( t)

 

 

 

 

 

 

 

 

3 t

 

 

 

 

 

 

3 t

 

 

 

 

 

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(t) _C1 e

t

_C2 e

_C3 e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin

2

 

 

_C4 e

 

 

 

cos

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Приклад 22.11. Знайти загальний розв’язок неоднорідного рівняння

x x 2tet.

Розв’яжемо рівняння за допомогою команд:

>eq76:=diff(x(t),t$3)-diff(x(t),t$2)=2*t*exp(t);

 

d3

 

 

d2

 

 

t

eq76 :=

 

 

 

x(t)

 

 

 

 

x(t)

 

 

3

 

2

 

 

 

2 t e

.

 

dt

 

 

 

dt

 

 

 

>dsolve(eq76,x(t));

x(t) et t2 4 t et 6 et _C1 et _C2 t _C3 .

Приклад 22.12. Знайти загальний розв’язок неоднорідного рівняння

x 9x e3t cost .

Розв’яжемо рівняння за допомогою команд:

>eq82:=diff(x(t),t$2)-9*x(t)=cos(t)*exp(3*t);

d2 eq82 :=

dt2

x(t) 9 x(t) cos(t)

e(3 t)

.

108

>dsolve(eq82,x(t));

 

( 3 t)

(3 t)

 

1

 

(3 t)

 

 

 

x(t) e

_C2 e

_C1

 

e

 

( cos(t) 6 sin(t))

37

 

 

 

 

 

 

 

 

 

 

 

 

.

6. Розглянемо задачу Коші для неоднорідного лінійного диференціально-

го рівняння n-го порядку зі сталими коефіцієнтами:

 

 

a x(n) a x(n 1) ... a

 

x a

x f (t),

 

 

0

1

 

 

 

 

n 1

 

n

 

 

 

x(t0) x0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(22.7)

 

x(t0) x1,

 

 

 

 

 

 

 

 

 

...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x(n 1)(t ) x

,

 

 

 

 

 

 

 

 

 

0

n 1

 

 

 

 

 

 

 

 

де a0,a1, ,an ,

a0 0

і неперервна функція

f : , f

0.

Для розв’язання

задачі Коші (22.7) в

Maple можна скористатися,

наприклад, командами:

 

 

 

 

 

 

 

 

 

 

ODE:=a0*diff(x(t),t$n)+a1*diff(x(t),t$(n-1))+...+an*x(t)=f(t);

ic:=x(t0)=x0,D(x)(t0)=x1,...,(D@@n-1)(x)(t0)=xn-1;

dsolve({ODE,ic},x(t));

Змінній ic присвоєні початкові умови у вигляді послідовності. Для завдання похідних у початкових умовах у Maple використовується оператор диференціювання D. Конструкція (D@@n-1)(x)(t0) завдає x(n 1) (t0 ).

Приклад 22.13. Знайти розв’язок задачі Коші

x(IV) x 2cost;

x(0)

2, x(0) 1, .

x(0)

x(0) 0

Розв’яжемо задачу Коші за допомогою наступних команд:

> ODE:=diff(x(t),t$4)+diff(x(t),t$2)=2*cos(t);

d4

ODE :=

dt4

 

 

d2

x(t)

 

 

 

 

 

2

 

 

 

dt

 

x(t) 2 cos(t)

.

> ic:=x(0)=-2,D(x)(0)=1,(D@@2)(x)(0)=0,(D@@3)(x)(0)=0;

ic := x(0) -2, D(x)(0) 1, (D(2) )(x)(0) 0, (D(3) )(x)(0) 0 .

109

> dsolve({ODE,ic},x(t));

x(t) 2 cos(t) sin(t) t t .

7. Розглянемо рівняння Ейлера:

a0tnx(n) a1tn 1x(n 1)

ant0x f (t),

(22.8)

де a0,a1, ,an , a0 0

і неперервна функція f

:(0, ) .

Для розв’язання рівняння (22.8) у Maple можна застосувати команди:

ODE:=t^n*a0*diff(x(t),t$n)+ +an*x(t)=f(t);...

 

dsolve(ODE,x(t));

 

 

 

 

 

 

 

 

 

 

 

 

Приклад 22.14. Розв’язати рівняння

t2x 3tx x 0, t 0.

Розв’яжемо рівняння за допомогою команд:

 

 

 

>eq92:=t^2*diff(x(t),t$2)+3*t*diff(x(t),t)+x(t)=0;

 

 

2 d2

 

 

 

 

d

 

 

 

eq92 := t

 

 

 

x(t) 3 t

 

 

x(t) x(t) 0

 

 

2

 

 

 

 

 

 

 

 

 

 

 

.

 

dt

 

 

 

 

 

dt

 

 

> dsolve(eq92,x(t));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x( t)

_C1

 

 

_C2

ln( t)

 

 

 

t

 

 

t

.

 

Також для розв’язання рівняння Ейлера можна застосувати команди:

with(DEtools):

eulersols(ODE,x(t));

Розв’яжемо попереднє рівняння із використанням цих команд:

>with(DEtools):

>eq92:=t*t*diff(x(t),t$2)+3*t*diff(x(t),t)+x(t)=0;

eq92 := t2 d2dt2

> eulersols(eq92,x(t));

Ми отримали фундаментальну

 

 

 

 

d

 

 

 

x(t) 3

 

 

 

x(t) t x(t) 0

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

dt

 

 

 

1

,

ln ( t )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

t

 

 

 

 

 

 

.

 

систему розв’язків вихідного рівняння Ейлера.

110

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]