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

Численные методы. Лекции. Часть 2

.pdf
Скачиваний:
94
Добавлен:
16.04.2015
Размер:
671.96 Кб
Скачать

дем

 

 

 

 

 

m

+ o(Hm)

(26.4)

Sk(H2) − Sk(H1) = Cm Hm − L

 

 

 

H

 

 

 

 

а отсюда

 

 

 

 

 

 

 

 

Cm =

Sk(H2) − Sk(H1)

+

o(Hm)

.

(26.5)

Hm(1 − L−m)

 

 

 

 

 

Hm

 

 

 

Подставляя это выражение для Cm в равенства (26.2), (26.3) и отбрасывая бесконечно малые o(Hm), найдем приближенные представления погрешностей Rk(H1), Rk(H2) составной квадратурной формулы на двух равномерных сетках :

R(H1)(f ) = J(f )

S(H1)

Sk(H2) − Sk(H1)

(26.6)

k

 

k

1

L m

 

 

 

 

 

 

 

R(H2)(f ) = J(f )

S

(H2)

Sk(H2) − Sk(H1)

.

(26.7)

 

k

 

k

Lm 1

Этот способ оценивания методической погрешности называется правилом Рунге. Так при L = 2, т.е. шаг дробления умень-

шается в два раза, погрешность составной квадратурной формулы Rk(H2)(f ) с шагом H2 меньше погрешности Rk(H1)(f ) составной квадратурной формулы с шагом H1 почти в 2m раз.

Используя правило Рунге можно решить вопрос о нахождении оптимального шага разбиения Ho интервала интегрирования, обеспечивающего (в первом приближении) вычисление интеграла с заданной точностью ε.

ε = Rk

(f )

CmHo =

 

m

m Ho ,

(26.8)

|

 

| ≈ |

 

|

 

Sk(H2)

 

Sk(H1)

 

(Ho)

m

H (1 L)

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

а отсюда и получаем порядок оптимального шага разбиения

 

H

 

 

 

 

 

1

 

Ho

 

(H2)(H1)

 

(26.9)

 

 

 

ε(1

L m)

 

 

m

 

 

 

 

 

 

 

Sk

− Sk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

61

Можно повысить точность оценки погрешности, если рассматривать асимптотическое представление ее в виде

Rk (f ) = J − SkH (f ) =

= CmHm + Cm+1Hm+1 + . . . + Cm+r Hm+r + o(Hm+r) =

 

r

 

 

i

 

=

Cm+iHm+i + o(Hm+r).

(26.10)

 

=0

 

Полагая в (26.10) H = H1, H2, . . . , Hr+2

получим систему ли-

нейных алгебраических уравнений относительно J, Cm, . . . , Cm+r . Решив ее получим оценку (26.10) более точную, чем (26.1).

Этот подход к оценке методичеcкой погрешности называется

методом Ричардсона.

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

главного члена погрешности.

Процесс Эйткена

Проводим вычисления на трех сетках: H1, H2 = H1/l, H3 = H2/L = H1/l2, 0 < l < 1. Тогда коэффициент при главном члене погрешности и показатель степени могут быть вычислены

 

Q = Sk(H1) − Sk(H2)

H1m − H2m

=

 

 

 

 

Sk(H2) − Sk(H3)

H2m − H3m

 

 

 

 

=

Hm(1

L−m)

= lm,

 

 

 

 

 

 

1

 

 

 

 

 

(26.11)

а отсюда

 

H2m(1 − L−m)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m ≈

ln Q

 

 

 

 

(26.12)

 

 

 

 

 

.

 

 

 

 

 

 

 

 

ln l

 

 

 

 

Необходимо

помнить,

 

 

что

все

это

спра-

ведливо

лишь

при

достаточно

малом

H

и при

соответствующей

гладкости

 

f (·).

§27. Сходимость квадратурного процесса по составным квадратурным формулам

62

В тех случаях, когда допустимо асимптотическое представле-

ние (26.1),(26.10), при H → 0

или k = (b − a)/H → ∞ , имеем

Rk(H)(f ) 0,

Sk(H)(f ) → J(f ),

(27.1)

т.е. квадратурный процесс по таким формулам и для таких функций f (·) сходится.

Однако последовательность квадратурных сумм (22.3) сходится к интегралу J(f ) при k → ∞ для любой непрерывной (интегрируемой) функции f (·) при достаточно слабых предположениях об узлах и коэффициентах этих формул:

Теорема 27.1. Пусть при каждом натуральном k коэффициенты Aij квадратурных формул (22.2) удовлетворяют следующим условиям:

Aij

0;

(27.2)

z

 

ni

(27.3)

zi i+1 dx = j=1 Aij = zi+1 − zi, i = 0, k − 1.

 

 

 

 

 

 

Тогда для любой интегрируемой по Риману на [a, b]

функции

f (·) (в частности, непрерывной) при

 

 

rk = max zi+1 − zi 0

 

 

 

 

 

 

 

i=0,k−1

 

квадратурный процесс по формулам (22.3) сходится

 

 

lim Sk(H)(f ) = J(f ),

(27.4)

 

rk 0

 

Замечание

Условие (27.3) означает, что квадратурные формулы (22.2) точны для функций f (x) = const, т.е. алгебраическая степень точности их m 0, а с учетом выполнения условия (27.2) это приводит к выполнению равенства

k−1 ni

 

i

 

(27.5)

 

Aij = b − a.

=0 j=1

63

Доказательство

Интегрируемость по Риману функции f (·) означает, что

 

 

 

 

Sk+ − Sk0,

rn 0,

(27.6)

 

 

 

 

SkJ(f ) Sk+,

 

(27.7)

где Skи

 

Sk+

- нижняя и верхняя суммы Дарбу по разбиению

a = z0 < z1 < . . . < zk = b :

 

 

 

 

 

 

 

 

 

k

 

 

 

k

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

Sk+ =

 

fi+ zi, Sk=

fizi, zi = zi − zi−1,

 

 

 

i=1

 

 

=1

 

 

 

 

f +

=

 

sup f (x),

f

=

inf

f (x).

(27.8)

i

 

 

zi 1 x zi

 

i

zi−1 x zi

 

 

 

 

 

 

 

 

 

 

 

 

Из условий (27.2), (27.3) находим

 

 

 

 

 

 

 

ni

 

ni

 

 

 

 

ni

 

fizi =

 

fiAij

 

f (xij )Aij

i

 

 

 

 

 

fi+Aij = fi+ zi

 

 

 

i=1

 

i=1

 

 

 

 

=1

 

и, следовательно, SkS(k)(f ) Sk+

, что с учетом (27.6), (27.7)

дает соотношение (27.4) .

 

 

 

 

 

 

Теорема доказана.

64

ГЛАВА 2. ЧИСЛЕННЫЕ МЕТОДЫ РЕШЕНИЯ ЗАДАЧИ КОШИ ДЛЯ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

§28. Постановка задачи

Пусть в области D = {a x b, |yi − y0i | bi} Rn+1 определена функция

f ≡ f (x, y1, . . . , yn), (x, y) D.

Необходимо найти решение

 

 

 

dy

= f (x, y)

(28.1)

 

dx

 

 

 

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

y(x0) = y0.

(28.2)

Как известно, используя метод последовательных приближений Пикара, можно получить точное решение y(x) задачи Коши (28.1),(28.2), как предел последовательности

y0(x), y1(x), . . . , yk(x), . . . ,

(28.3)

где

x

 

 

yk (x) = y0 + x0

f (x, yk−1(x)) dx, k = 1, 2 . . . .

(28.4)

Для сходимости этой последовательности необходимо, выполнение условий:

• f (x, y) непрерывна в D ;

• f (x, y) удовлетворяет условию Липшица по аргументу y

f (x, yˆ) − f (x, y¯) L yˆ − y¯

(28.5)

для всех x [a, b] и всех компонент векторов yˆ и y¯ .

65

При этих предположениях, yk(x) равномерно сходится к точному решению задачи Коши, поэтому для достаточно больших k отклонение y(x) −yk(x) не превышает заданной величины. Таким образом, в качестве искомого решения можно взять yk(x) . Практическая реализация этого метода затруднена по причине того, что для сложной функции f (x, y) интеграл не берется в квадратурах и решение нельзя получить в аналитическом виде. Константа Липшица L играет важную роль в численных методах.

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

следовательность приближений ym ≈ y(xm) на множестве точек xi+1 = xi + hi, i = 0, 1, . . . , N − 1; xN = b, hi > 0

шаг сетки. В большинстве рассматриваемых методов будем считать hi = h, h = const > 0, i = 1, 2, . . . .

Для компактности изложения будем в дальнейшем рассматривать методы для скалярного случая (28.1) n = 1 и отдельно оговаривать их распространение на случай систем.

§29. Одношаговые методы

Одношаговые методы - методы которые последовательно дают

приближения

ym

к значениям точного решения y(xm)

в каж-

дом узле xm

сетки на основе известного приближения

ym−1 к

решению в точке

xm−1.

 

В общем виде их можно представить :

 

 

ym+1 = F (f, xm+1, xm, ym+1, ym).

(29.1)

Одношаговые методы вида (29.1) в правой части (в самом общем случае) содержат искомое значение ym+1 . Это вынуждает ввести еще один параметр классифицирующий дискретные численные методы решения задачи Коши. Наличие в правой части представления метода в виде (29.1) зависимости от искомой функции ym+1 делает его неявным. Отсутствие этой зависимости – явным, вида:

ym+1 = F (f, xm+1, xm, ym).

(29.2)

§30. Методы разложения в ряд Тейлора

66

Предположим, что правая часть f (x, y)

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

уравнения

 

 

 

dy

= f (x, y)

(30.1)

 

dx

 

 

 

имеет непрерывные частные производные до порядка s. Тогда искомое решение y(x) имеет непрерывные производные до s + 1 – ого порядка включительно. Точное значение решения в узле xi+1 , если известно точное значение решения в точке xi , запишем по формуле Тейлора:

y(x

) = y(x ) + hy (x ) +

h2

y (x ) + . . . +

hs

y

 

 

i+1

i

i

2

i

s!

 

 

 

 

hs+1

+ (s + 1)! y(s+1)(ξ) = y(xi) + h (xi, y(xi), h), h = xi+1 − xi, ξ (xi, xi+1).

(s)(xi) +

(30.2)

Если теперь этот ряд оборвать, ограничиться только первыми s+1 членами, и заменить точное значение y(xi) его приближением yi , то в соответствии с (30.1) получиться следующая приближенная формула:

yi+1 = y(xi) + (xi, y(xi), h) =

 

 

= yi + hy

+

h2

y + . . . +

hs

y(s)

,

(30.3)

 

 

i

 

2 i

s! i

 

 

Производные входящие в правую часть (30.3), могут быть фактически найдены:

yi = f (xi, yi),

yi = {fx + f · fy }|xi ,

 

 

 

+ f

2

 

 

 

}|xi , (30.4)

yi

= {fxx

+ 2f · fxy

 

· fyy

+ (fx

+ f · fy )fy

. . . . . . . . . . . . . . .

Полагая,например, s = 1 и s = 2, получим :

yi+1 = yi + hf (xi, yi)

,

(30.5)

67

yi+1

= yi + h

f (xi, yi) + 2

(fx

(xi, yi) + f (xi, yi) · fy (xi, yi))

, (30.6)

 

 

 

h

 

 

 

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

§31. Явные методы Рунге

В начале века Рунге, Хойн и Кутта предложили подход, основанный на построении ϕ , которая максимально близка к и не содержит производных от функции f (x, y). Этот процесс "подгонки"рядов Тейлора и называется методом Рунге-Кутты .

Так Хойн рассмотрел этот процесс "подгонки",положив

ϕ(x, y, h) = b1f (x, y(x)) +

 

+b2f (x + hc2, y(x) + ha21f (x, y(x))),

(31.1)

где b1 , b2 , c2 и a21 – постоянные, подлежащие определению. Разлагая ϕ и по степеням h, получил:

ϕ(x, y, h) = (b1 + b2)f (x, y(x)) +

 

+hb2[c2fx(x, y(x)) +

 

 

 

 

 

 

+a21fy (x, y(x))f (x, y(x))] + O(h2),

(31.2)

(x, y(x), h) = f (x, y(x)) +

1

h[fx(x, y(x)) +

 

 

 

2

 

+fy (x, y(x))f (x, y(x))] + O(h2),

(31.3)

что приводит к уравнениям

 

 

 

 

 

 

b1 + b2 = 1,

 

 

(31.4)

1

 

 

 

 

 

 

b2c2 =

 

 

,

 

 

 

(31.5)

2

 

 

 

b2a21 =

1

.

 

 

(31.6)

2

 

 

68

Вследствие того что в общем случае нельзя найти никаких соотношений для членов порядка O(h2), получаем семейство решений

b1 = 1 − ξ, b2 = ξ, c2 = a21 =

1

,

(31.7)

 

2ξ

где ξ = 0 – свободный параметр. Полагая ,например, ξ = 12 , получим расчетную схему, (впервые полученную Хойном) вида:

yi+1 = yi + h[

1

f (xi, yi) +

1

f (xi + h, yi + hf (xi, yi))],

(31.8)

 

 

2

2

Рассмотренный процесс "подгонки"можно обобщить, используя m вычислений функции на одном шаге интегрирования.

Предполагаем, что в рассматриваемой области f (x, y) имеет непрерывные частные производные до некоторого порядка q . Тогда искомое решение будет иметь непрерывные производные до порядка q + 1 , и можно представить приращение решения в виде:

 

 

 

 

 

h2

 

y0 = y(x + h)

− y(x) = hy

(x) +

 

y

(x) + . . .

2

 

hq+1

 

 

 

 

 

+

 

y(n+1)(x) + o(|h|q+1).

 

 

(31.9)

(q + 1)!

 

 

При достаточно малых h можем отбросить в (31.9) член o(|h|q+1) и приближенно считать

 

 

 

 

 

h2

 

y0 = y(x + h)

− y(x) ≈ hy

(x) +

 

y

(x) + . . .

2

+ . . . +

hn+1

 

y(n+1)(x).

 

 

 

(31.10)

(n + 1)!

 

 

 

 

 

 

 

 

 

При рассмотрении метода разложения в ряд Тейлора мы убедились в том что полные производные yi(x) в (31.10) могут быть вычислены. Но в связи с тем, что дело это требует индивидуального подхода для каждой системы, , их непосредственное использование (31.10) на практике вряд ли может быть использовано.

69

Рунге предложил составлять линейную комбинацию

 

m

 

ϕ(x, y(x), h) =

i

(31.11)

biki(h),

 

=1

 

 

 

i−1

где ki(h) = hf (x + hci, y(x) +

j

aij kj ),

 

 

=1

i= 1, 2, . . . , m.

иискать приближение к решению в виде

y(x + h) ≈ y(x) + ϕ(x, y(x), h).

(31.12)

Метод (31.11)–(31.12) и называется m –этапным явным одношаговым методом Рунге-Кутты. Он идеально приспособлен для практического расчета:

-не требует вычисления дополнительных начальных значений;

-позволяет легко менять шаг интегрирования.

Выбор постоянных (параметров метода) bi, ci, aij производится так, чтобы разложение (31.11) по степеням h совпадало до

возможно более высоких степеней

h

при произвольной функции

f (x, y) и произвольном шаге h

с разложением (30.2). Введем в

рассмотрение функцию

 

 

 

 

 

m

 

Ψ(h) = y(x + h) − y(x)

i

 

biki(h),

(31.13)

 

 

=1

 

которую в дальнейшем будем называть методической погрешностью одношагового метода.

Считаем f (x, y) - достаточно гладкой функцией своих аргу-

ментов, и значит

ki(h)

– корректирующие функции и

Ψ(h) -

гладкие функции параметра h.

 

Предположим, что

f (x, y) настолько гладкая, что существу-

ют производные

Ψ (h),

Ψ (h), . . . , Ψ(s+1)(h) .

 

Предположим также, что параметры метода bi,

ci, aij

выбраны так, что

 

 

 

Ψ (0) = Ψ (0) = . . . = Ψ(s)(0) = 0,

(31.14)

70