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

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

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

Обращение к функции odesolve имеет вид:

Y := odesolve(x, b [, step]),

где Y – имя функции, содержащей значения найденного решения, b – конечная точка отрезка, на котором ищется решение задачи, step – необязательный параметр, задающий шаг.

Перед обращением к функции odesolve нужно записать ключевое слово Given, ввести дифференциальное уравнение, начальные либо граничные условия. Для ввода производных можно использовать как оператор дифференцирования, так и знак производной (комбинация клавиш Ctrl + F7). Знак равенства вводится с помощью пиктограммы Boolean либо комбинацией клавиш Ctrl + = . При вводе функции обязательно следует указывать аргумент исходной функции. Для получения численного решения задачи в любой точке отрезка [a, b] нужно задать имя функции Y, указав в скобках численное значе- ние аргумента, и ввести с клавиатуры знак =.

Пример 11.1. Решить задачу Коши для дифференциаль-

íîãî

уравнения первого порядка y′(x) = − 2y(x) − 3sin x,

y(0) =

2 на отрезке [0, 10] и построить график решения.

 

Given

 

 

 

 

y' (x)

 

 

2 y(x) 3 sin(x)

y(0)

 

3

 

 

 

 

 

 

 

 

 

y :=

odesolve (x , 10)

 

 

 

Значение решения задачи Коши в некоторых точках отрезка [0;10]:

x :=

1 , 2.5.. 10

x =

y(x) =

1-0.36078

2.5-1.18268

40.51678

5.51.27189

7-0.33604

8.5-1.31939

10 0.14938

101

 

4

 

 

 

 

 

3

 

 

 

 

 

2

 

 

 

 

y(x)

1

 

 

 

 

 

0

2.5

5

7.5

10

 

1

 

 

 

 

 

2

 

 

 

 

 

 

 

x

 

 

 

 

Рис. 11.2. График решения

 

Пример 11.2. Решить задачу Коши для дифференциального

уравнения

второго

порядка

y′′(x) −

sin xy′(x) +

y(x) =

x ,

 

 

 

 

 

 

 

 

 

 

 

y(0) = 1, y′(0) =

 

3 на отрезке [0, 10] и построить график решения.

Given

 

 

 

 

 

 

 

 

 

 

 

y''(x) sin(x)

 

y'(x) +

y(x)

x

0

 

1

0

 

 

2 π

y( )

 

y'( )

 

 

 

 

 

 

 

 

 

 

 

 

y := odesolve(x,

10

 

 

 

 

 

 

 

)

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

5.5

 

 

 

 

 

 

 

 

 

 

y(x)

2

 

 

 

 

 

 

 

 

 

 

 

1.5

 

0

 

2.5

5

7.5

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

Рис. 11.3. График решения

 

 

 

102

Пример 11.3. Решить задачу Коши для дифференциально-

го уравнения третьего порядка y(x) − (y(x))2 = 6y(x)(y′(x))2 , y′(x)

y(2) = 0 , y′(2) = 1 , y′′(2) = 0 на отрезке [2, 3.3] и построить график решения.

Given

 

 

 

 

 

d

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dx2

 

 

 

 

 

 

 

 

 

 

 

2

d3

 

 

 

 

 

 

 

 

d

 

 

y(x)

 

 

 

 

 

 

 

 

 

 

 

 

6

y(x)

 

 

 

y(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

dx

 

 

dx

 

 

 

 

y(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

y(2)

 

0

 

 

 

y'(2)

 

 

 

1

 

y'' (2)

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y :=

odesolve (x , 3.3 , 0.001 )

 

 

 

 

 

График функции, являющейся решением поставленной задачи Коши

 

20

 

 

 

 

 

5

 

 

 

 

 

2

2.38

2.75

3.13

3.5

y(x)

10

 

 

 

 

 

25

 

 

 

 

 

40

 

 

 

 

 

 

 

x

 

 

 

 

Рис. 11.4. График решения

 

103

Значения решения поставленной задачи Коши в некоторых точках отрезка [2, 3.3]:

a := 2.8 , 2.85 .. 3.3

a =

 

y(a) =

 

 

 

2.8

 

0.932

 

 

 

2.85

 

1.907

 

 

 

2.9

 

1.143

 

 

 

2.95

 

-1.997

 

 

 

3

 

1.459

 

 

 

3.05

 

13.936

 

 

 

3.1

 

2.076

 

 

 

3.15

 

-42.867

 

 

 

3.2

 

4.621

 

 

 

3.25

 

256.142

 

 

 

3.3

 

633.416

 

 

 

Пример 11.4. Решить граничную задачу для дифференциального уравнения второго порядка y(t) + 9y(t) = 4 , y(0) = 0 , y(π / 2) = 1 и построить график решения.

Given

d2

y(t) + 9 y(t)

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

dt2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

0

 

 

 

 

 

 

π

 

 

1

 

 

 

 

y

 

 

 

y( )

 

 

 

 

2

 

 

y :=

 

 

 

t,

π

 

 

 

 

 

 

 

odesolve

 

 

 

 

 

 

 

 

2

 

 

 

 

 

104

 

1.5

 

 

 

 

 

1

 

 

 

 

y(t)

0.5

 

 

 

 

 

0

0.5

1

1.5

2

 

0.5

 

 

 

 

 

 

 

t

 

 

 

Рис. 11.5. График решения

 

Пример 11.5. Решить граничную задачу для дифферен-

циального

 

уравнения

 

второго

порядка

y(x) − cos(x) y′(x) +

y(x) = sin x / 2 ,

y(0) =

0 ,

y′(π / 2) =

1 è ïîñò-

роить график решения.

 

 

 

 

 

 

 

 

Given

 

 

 

 

 

 

 

 

x

 

 

y''(x) −

cos(x) y'(x) +

 

 

 

 

y(x)

 

sin

2

 

 

 

0

0

y'

(2

π

)

1

 

 

 

 

 

 

y(

)

 

 

 

 

 

 

 

 

 

 

y :=

odesolve(x, 2 π )

 

 

 

 

 

 

 

 

 

 

20

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

y(x)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

2

4

6

 

 

8

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

Рис. 11.6. График решения

 

 

105

Например, если граничные условия имеют непростое представление, то граничную задачу для линейного дифференциального уравнения второго порядка можно либо методом вариации постоянных, либо методом дифференциальной прогонки свести к решению нескольких задач Коши.

Согласно методу вариации постоянных общее решение граничной задачи

y(x) + h(x)y′(x) +

q(x)y(x) = f (x) , a < x <

b ,

(11.1)

α 0y(a) + α1y′(x) =

A, β0y(b) + β1(x) y′(b) =

B

(11.2)

можно представить в виде

y(x) = Z(x) + C1Z1(x) + C2Z2(x) ,

(11.3)

ãäå C1 , C2 – произвольные постоянные, Z(x), Z1(x), Z2 (x) – решения следующих задач Коши:

Z(x) +

h(x)Z′(x) +

q(x)Z(x) = f (x) ,

(11.4)

Z(a) =

0,

Z′(a) =

0,

 

 

Z1(x) +

h(x)Z1′(x) + q(x)Z1(x) =

0 ,

(11.5)

Z(a) =

0,

Z′(a) =

1,

 

 

Z1(x) +

h(x)Z1′(x) + q(x)Z1(x) =

0 ,

(11.6)

Z(a) = 1,

Z′(a) =

0.

 

 

Для определения произвольных постоянных C1 , C2 подставим представление (11.3) в граничные условия (11.2) и получим систему для определения этих величин.

Пример 11.6. Методом вариации постоянных найти ре-

шение граничной

задачи

y(x) + (x + 1)y′(x) − 2y(x) = 2,

y(0) − y′(0) =

− 1, y(1) =

4 и построить график решения.

Решение задачи Коши (11.4):

 

 

Given

 

 

 

 

Z''(x) +

(x + 1)Z(x) 2Z(x)

 

2

 

 

106

 

Z(0)

 

 

0

 

Z' (0)

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z := odesolve (x , 1)

Z(1) =

1.034

 

Решение задачи Коши (11.5):

 

 

 

 

 

 

 

 

 

 

 

 

Given

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 Z1 (x)

 

 

 

 

 

 

 

 

 

Z1 (x) +

(x +

 

1)Z1 (x)

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z1 (0)

 

 

 

 

 

0

 

 

Z1' (0)

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z1 :=

odesolve (x , 1 , 0.01 )

 

 

 

 

 

Z1 (1) =

1.085

Решение задачи Коши (11.6):

 

 

 

 

 

 

 

 

 

 

 

Given

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 Z2 (x)

 

 

 

 

 

 

 

Z2 (x) +

(x +

 

1)Z2 (x)

 

 

 

0

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z2 (0)

 

 

1

 

 

 

Z2' (0)

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z2 :=

odesolve (x , 1 , 0.01 )

 

 

 

 

 

Z2 (1) =

1.347

Нахождение произвольных постоянных

 

 

 

C1 :=

0

 

C2 :=

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Given

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C1 +

 

C2

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Z(1) +

 

 

C1Z1(1) +

 

C2Z2(1)

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C := Find(C1 , C2)

 

C =

 

1.773

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.773

 

 

107

Приближенное решение в некоторых точках:

x := 0 , 0.1 .. 1

x =

 

Z(x) + C0 Z1(x) + C1 Z2(x)

0

 

0.773117

 

 

 

 

 

0.1

 

0.964457

 

 

 

 

 

0.2

 

1.184465

 

 

 

 

 

0.3

 

1.433928

 

 

 

 

 

0.4

 

1.713403

 

 

 

 

 

0.5

 

2.023124

 

 

 

 

 

0.6

 

2.362919

 

 

 

 

 

0.7

 

2.732117

 

 

 

 

 

0.8

 

3.129454

 

 

 

 

 

0.9

 

3.552986

 

 

 

 

 

1

 

4

 

 

 

 

 

График приближенного решения

 

4

 

 

 

 

 

3

 

 

 

 

Z(x)+ C0Z1(x)+ C1Z2(x)

2

 

 

 

 

 

1

 

 

 

 

 

0

0.25

0.5

0.75

1

 

 

 

x

 

 

Рис. 11.7. График решения

Согласно методу дифференциальной прогонки решение граничной задачи (11.1) - (11.2) при условии α1 ≠ 0 состоит из решения следующих задач Коши:

108

Z1′(x) =

Z12 (x) − p(x)Z1(x) −

q(x) , Z1(a) = −

α 0

,

(11.7)

 

 

 

 

α1

 

 

Z2′(x) =

Z2(x)(Z1(x) + p(x)) +

f (x) , Z2(a) =

A

.

(11.8)

α1

 

 

 

 

 

 

Используя найденные функции Z1(x), Z2(x) , находим решение исходной граничной задачи как решение задачи Коши

 

y′(x) = Z1(x)y(x) + Z2(x) ,

y(b) =

B − β1Z2(b)

 

 

 

 

 

.

(11.9)

β

0

+ β Z1(b)

 

 

 

 

 

 

 

1

 

 

 

Пример 11.7. Методом дифференциальной прогонки най-

ти решение граничной задачи

y(x) + (x2 + 1)y′(x) −

xy(x) = 2,

y(0) − y′(0) = − 1,

y(1) = 5 .

 

 

 

 

 

 

Решение задачи Коши (11.7):

 

 

 

 

 

 

Given

 

 

 

 

 

 

 

 

d

Z1 (x)

 

Z1 (x) (Z1 (x) + x2 + 1) + x

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

Z1 (0) 1

Z1 := odesolve (x , 1)

Решение задачи Коши (11.8):

Given

 

 

 

d

Z2 (x)

 

 

Z2 (x) (Z1 (x) + x2 + 1) + 2

 

 

 

dx

 

 

 

Z2 (0)

 

 

1

 

 

 

 

 

 

Z2 := odesolve (x , 1)

109

Решение задачи Коши (11.9):

Given

d y(x) Z1(x) y(x) + Z2(x) dx

y(1)

 

5

 

 

y :=

odesolve (x , 0)

Приближенное решение в некоторых точках:

x :=

0 , 0.2.. 1

 

x =

 

y(x) =

 

 

 

 

0

 

 

2.058853

 

 

 

 

0.2

 

 

2.6538

 

 

 

 

0.4

 

 

3.228457

 

 

 

 

0.6

 

 

3.801894

 

 

 

 

0.8

 

 

4.388953

 

 

 

 

1

 

 

5

 

 

 

 

Согласно методу конечных разностей граничная задача (11.1) – (11.2) сводится к решению системы линейных алгебраических уравнений вида

y

i+

1

+

m

y

i

+

k

i

y

i

= h2F ,

i = 1, . . . , n − 1 ,

 

 

 

i

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

ãäå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mi

=

 

2h2qi − 4

,

 

ki =

 

2 − hpi

 

,

Fi

=

 

2fi

 

,

 

 

 

2 + hpi

2

+ hpi

 

 

 

 

 

 

 

 

2 + hpi

 

 

 

 

 

 

 

 

 

 

xi = a +

ih ,

qi =

q(xi ) , pi

=

p(xi ) ,

 

fi =

f (xi ) , h =

(b − a) / n .

110

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