Файл: Ермолаева Э.Н. Элементы численного анализа учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.07.2024

Просмотров: 132

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

В правильности полученного решения убеждаемся, решая точным методом данное линейное дифференциальное уравне­ ние у' + у = х:

 

 

 

X

 

х

 

 

 

 

 

p(x)dx

j

P(x)dx

 

У (х)

-

б

х»

Уо + \

Ч (х) еЛ

dx

где

 

 

 

 

 

 

 

Р

(х)

=

1;

q (х) == X,

Ху •= 0;

Уо =

1.

Интегриру я, получаем

 

 

 

У (х) = е х

1 4

• .V

хех dx =

е-х 1 +

хех X

V

\

— ех

 

 

 

J

 

 

0

0

 

 

 

0

 

 

 

 

[1 4 хех — ех + 1 ] -

2е~х

(1 х) .

§ 8.2. М Е Т О Д Р А З Л О Ж Е Н И Я Р Е Ш Е Н И Я

В С Т Е П Е Н Н О Й Р Я Д

ПО С Т Е П Е Н Я М Н Е З А В И С И М О Й П Е Р Е М Е Н Н О Й

 

Этот метод можно осуществить в двух

вариантах: пользу­

ясь разложением общего решения в ряд Тейлора; с помощью

неопределенных коэффициентов и показателей.

 

'

 

Остановимся на первом из них, так как второй излагается в

курсе «Функции

Бесселя».

 

 

 

 

 

 

Пусть дано

дифференциальное

уравнение

>г-го

порядка,

разрешенное относительно старшей производной:

 

 

 

y^=f(x,

 

у,

у' , . . .

 

 

 

(8.5)

с начальными условиями

 

 

 

 

 

 

у \х-^хп = у0;

у'

=

«/'«;..."; ^

!,-,,, =

# Г 0

(8 -6 )

Если функция f(x,

у, у',...,

у{" '>)

является

аналитической

по всем своим аргументам

в окрестности точки 0, уо,—,

#(0"-1))'

то существует разложение у(х)

по степеням Хо) в виде ря­

да Тейлора:

 

 

 

 

 

 

 

 

y(x)=V

 

J ^

L .

(х- _ Xj* .

 

 

(8.7)

Первые п коэффициентов этого ряда известны из началь­ ных условий:

У{к) (хо) = W ,

1, 2 . . . . . Л - 1 .

(8.8)


Для

определения

у/"' (х0 ) подставим

начальные

данные в

правую часть (8.5), тогда

 

 

 

 

 

 

 

yW(xo)

 

0<„ У\>- • • . <

") •

(8'-9)

Последующие коэффициенты

ряда

могут

быть

найдены с

помощью последовательного

дифференцирования

уравнения

(8.5) по х, например:

 

 

 

 

 

 

 

'

„ ( « + D = J L -

+ JL-

у

+ ... f

 

^

 

,

 

дх

с*//

у

'

г

д / у ( п

_ „ ./

 

Подставляя в правую часть этого выражения //'" из (8.5), обозначаем полученное выражение через f\(х, у , //,... , у ( " _ , ) ) , тогда

</<"м , (*о) = / i (*о. Уо. .'/о , • • • , //о" ") •

Продолжая процесс дифференцирования, получаем любой коэффициент ряда в виде:

^ i - ) ( x 0 ) = / f f l ( * 0 ,

/ о , . . .,#<'-'>) ,

(8.11)

где

+ • • • + " Ц 1 й г . ' / " ; " Ь < S ' , 2 >

Общая оценка погрешности метода здесь отсутствует, одна­ ко очевидно, что его применение практически имеет смысл для

достаточно малых ( х — Х о ) .

 

 

 

 

 

Пример 8.2. Написать несколько членов-разложения

в сте­

пенной ряд решения у = у(х) уравнения

 

 

 

у"

+ ху' + у =

0,

 

 

удовлетворяющего начальным

условиям

 

 

 

У |,=о =

0,

у' | . v = 0

= 1 •

 

 

Р е ш е н и е . Разрешим

уравнение

относительно

старшей

производной

 

 

 

 

 

 

 

 

f

=

x y ' - y

 

 

(8.13)

и представим

решение в виде

ряда:

 

 

 

у(х) = у(0)

+ у'(0)х

+ J

~ f L x 1 4 .

JtM-x-'..

.

(8.14)

142*


Из начальных условий имеем ;/(£)) = 0

и //(0) =-1 и из урав­

нения получаем

у"

 

- у (0)

 

 

 

 

 

 

 

 

(0) =

= 0 .

 

 

Чтобы определить последующие коэффициенты ряда, диф­

ференцируем уравнение (8.13):

 

 

 

у"'

=

-

 

Ху"

2у',

откуда

у"'

(0) -

— 2 ;

//'V

^

_

 

 

_

3 / ,

откуда

i / l v

(0) =

0 ;

y v =

 

_

д-yiv

_

4 ^

откуда

y v

(0) =

8 , . . .

Подставляя

найденные коэффициенты

в (8.14), получаем

 

 

У

[х)

 

XЯ

х"

 

 

 

 

 

 

3

15

 

 

 

 

 

 

 

 

 

 

 

§ 8.3. Ч И С Л Е Н Н Ы Е М Е Т О Д Ы

 

 

 

 

Постановка задачи. Рассмотрим

уравнение

 

 

 

 

 

 

 

dy

/(*.

У)

 

(8.15)

 

 

 

 

 

 

dx

 

 

 

 

 

 

 

 

 

 

 

с начальными

условиями

 

 

 

 

 

 

 

 

 

 

У

Уо

 

(8.16)

Пусть

у =

у(х)

 

точное

решение (интегральная кривая)

этой задачи.

 

 

 

 

 

 

 

 

У,

Х0

ОС j

Рис. 8.1

Задача численного решения состоит в том, чтобы в задан­ ных точках Хо, X],..., хп,... найти значения у0, уи ..., уп

являющиеся некоторыми приближениями точных " значений у{хк) (рис. 8.1).


Интервалы ^xk = хк+і

xk

чаще всего выбираются рав­

ными, в этом случае число

/г =

Ахк

называется шагом

табли­

цы. Все численные методы сводятся к последовательному

опре­

делению

приближенных

значений

ук

(k = \, 2, ... , «, ... ) по

формуле

J

 

 

 

 

 

 

У*+і = Ук 4- Ьук

,

(8.17)

т. е. задача сводится к последовательному вычислению вели­

чин

к.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

§ 8.4. М Е Т О Д Э Й Л Е Р А

 

 

 

 

 

 

 

 

 

 

 

 

ной

Идея

метода Эйлера

состоит в том, что значение производ­

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- £ - - / < * » )

 

 

 

 

 

на

каждом

промежутке

Ахк

 

приближенно •

считается

постоянным, а именно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/ ( * ; y ) L r « ^ 7 ( * * ;

У,)-

 

 

(8.18)'

 

Из

(8,15) в промежутке

к,

х)

имеем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

х

 

 

 

 

 

 

 

 

 

 

 

У (х)

=

у {хк)

+

\

f

(х;

у)

dx

,

 

 

откуда

приближенно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

у (**•

і )

У (хк)

+f[xk\

 

ук)

h .

 

 

 

Принимая

правую

часть

этого

 

равенства

за

ук л,

полу­

чаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Уь+t — Ук + f

(xk~>

Ук) h,

 

* =

0,

1,

2

,

(8.19)

 

 

 

 

 

 

=

/

(**; ук)

/і .

 

 

 

 

(8.20)

 

Геометрически метод Эйлера реализуется следующим обра­

зом: искомая

интегральная

кривая у = у(х),

проходящая

через

точку М00,

уо), приближенно

заменяется

ломаной линией,

звенья которой на каждом шаге имеют угловой

коэффициент

f(xk\

Ук)

(рис. 8.2).

 

 

 

 

 

 

 

 

 

 

 

 

 

Эта ломаная называется ломаной Эйлера.

 

 

 

 

Погрешность метода Эйлера имеет вид:

 

 

 

 

 

 

 

*п -

I Уп -

У (*„) I <

 

 

I**"*"

*0>

-

1 Ь

 


где N — постоянная Липшища;

К

д/

 

дх

 

 

 

Из оценки погрешности видно, что метод Эйлера

обладает

следующими недостатками:

 

— он применим лишь для достаточно малых h;

 

— он приводит к накоплению погрешности при

увеличе­

нии п.

 

 

Р и с . 8.2

Поэтому метод используется обычно в тех случаях, когда нужно получить достаточно грубое приближение на небольшом промежутке.

Пример 8.3. Применяя метод Эйлера, составить на отрезке [0; 1] таблицу значений решения дифференциального уравне­ ния у'= 2ху, удовлетворяющего начальному условию y'.v-o1, выбрав шаг /г = 0,1.

Р е ш е н и е . Рабочие

формулы:

ЬУк = / (**; Ук) h\

ук і ук -\ Дуя , k — 0, 1, 2,...

Последовательно заполняем табл. 8.1.

Из таблицы видно, что относительная погрешность, напри­ мер, ую составляет приблизительно 15%, т. е. приближение до­ статочно грубое.

 

 

Ч и с л е н н о е р е ш е н и е

 

 

 

 

Т о ч н ы е

 

 

 

 

 

 

з н а ч е н и я

 

 

 

 

 

 

 

 

 

 

 

 

/ (х,

у) =

 

Л\>

=

 

 

N

X

у

=

f{'x,

v ) A

=

у = * * 2

=

2ху

 

 

 

=

2х\,

0,

1

 

 

 

 

 

 

 

0

0,0

1,00

 

0,0

 

0,00

 

1,00

1

0,1

1,00

 

0,2

 

0,02

 

1,01

2

0,2

1,02

 

0,4

 

0,04

 

1,04

3

0,3

1,06

 

0,6

 

0,06

 

1,09

4

0,4

1,12

 

0,9

 

0,09

 

1,17

5

0,5

1,21

 

1,2

 

0,12

 

1,28

6

0,6

1,33

 

1,6

 

0,16

 

1,43

7

0,7

1,49

 

2,1

 

0,21

 

1,63

8

0,8

1,70

 

2,7

 

0,27

 

1,90

9

0,9

1,97

 

3,5

 

0,35

 

2,25

10

1,0

2,32

 

 

 

 

 

 

2,72

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

Ьум = Akh + Bk-jj-

+ Ch - ~ + . . . ,

(8.21)

которые получаются при разложении искомого решения в каж­ дом из промежутков Axk — h в ряд Тейлора:

и'

I

и"

и"'

 

Уъ\ \ — УкЛ уу -

h +

- | f -Hl

+ " Т Г h 3 + •••

( 8 i 2 2 )

Значения производных вычисляют в соответствии с уравне­ нием y' = f(x; у) по формулам:

у'\

= ( / ' , +

Л

У ' )

Df

к;

ук)

У"'н =

f У \ у У'

+ Гуу

(У'Г

+ f'yif'x

+

Г у У')\ .»-.if t

= Я 2 / ( * * ; ук) +/'ук;

ук) Df{xk; ук) ,

(8.23)