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

Планирование и обработка эксперимента / Rakitskiy - Chislenniye metodi resheniya 1979

.pdf
Скачиваний:
84
Добавлен:
13.05.2017
Размер:
6.71 Mб
Скачать

80 Гл. 1. Численное интегрирование жестких систе,11

Д.1я одношаговых методов численного интегрирова­

нпя :\ЮЖНО НСПО.'IЬЗОвать переменный шаг без ДОПО.'IНИ­

тельных затрат на перерасчет начальных условий при смене шага, в от.1ич11е от многошаговых методов. Одна­

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

(102), 11 при испо.1ьзовани11 метода Ньютона

вычисление

э.JJементов матриц, аналогичных Р,

следует

проводить

по фор:-.~улам (105) или (106).

 

 

С uе.1ью автоматизации работы

численного алгорит­

ма часто оценпвают погрешность интегрирования и в за­

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

Отмети:\-1, что в случае жестких систем это следует де­ лать то.1ько для А-устойчивых II жестко устойчпвых ме­

тодов, иными словамн, для методов, не имеющих огра­

ниче~-шй на выбор шага. В противном случае, при малых

значениях производных решения за пограничным слоем

шаг уве.1пчивается п становится бо.11ьше некоторого кри­

тического, что приводит к росту погрешности и умень­

шению шага. Эта ситуация многократно повторяется. Чнс.10 1;зменений шага дискретности непрерывно растет, существенно растет и связанный с ним дополнительный объе:-.f Рычпслений.

Бо.1ьшую попу.1ярность за рубежом получила проце­ ду1ра Гира, осуществляющая авто:-.1атичеокий контроль

погрешности на шаге с из.\1енение:-.1 1по это:му критерию

как степени .\tетода, так и шага интегрирования [49, 51).

В за1<.1ючение отметим, что недостатком неявных ме­ тодов пu сравнению с явными является необходимость решен11я систем нелпнейных алгебраических уравнений.

Однако это преимущество явных разностных схем исче­

зает, ес.111 применять их к уравнениям, не разрешенным

от1юс11н~льно сrаршей производной. Так, для системы

· dx) G(t, Х, dt =0

примененпе явных и неявных аппроксимаций приведет к примерно одинаковому объему вычислений на одном

шаге.

Глава 2. Системные методы

§ 2.l. Численное решение линейных систем

Ес:ш решение систе:v~ы дифференциа.'Iьных

уравнений находится в а11алит11чеокой форме, то 11спо.1ь­

Зуя ее, можно построить систему разностных уравнений,

которой это решение удовлетворяет точно с .1юбым ша­

гом дискретности.

Рассмотр11м сначала неоднородную систему уравне­

нпй впда

 

 

 

 

 

d:;t)

=Ax(t)+b,

х(О)=х0, x(t)=Rm,

t=[O, TJ. (1)

РешЕ-ние снстемы ( 1)

записывается в впде

 

 

 

t

 

 

 

 

х(t) = ехр (At) х0+ .\·ехр (Ат) d тЬ.

(2)

 

 

 

о

 

 

 

Как

известно

(см.

[9]),

матрпчная

экспонента

ехр (At)

(экспоненциал)

представ.'Iяет coбoiI

равномерно

сходящийся матричный ряд

 

 

 

 

 

00

дs ts

 

 

 

 

 

 

 

 

(3)

 

ехр (At) = ~ -- ,

 

 

 

 

 

s!

 

 

 

 

 

s=O

 

 

 

где Е -- единнчпая

матрица. Степенное

представ.'Iение

1111теграла от экспоненциала имеет вид

 

 

 

t

 

00

дs ts+i

 

 

 

exp

(Ат)d т= ~

(4)

 

S

 

/,J

(s + l)!

 

 

 

О

 

s=O

 

 

 

Применять формулы (3) и (4) для вычис.'Iения экспо­

ненциала и интеграла от него при достаточно больших t нецелесообразно, так как для достижения необходи­

мой точности решения потребуется учесть слишком боль-

82

Гл. 2. Системные ,иетоды

шое число слагаемых, растущее с уве.~шчением t. Данная

особенность еще более усугубляется для жестких систем.

Подход, связанный с использованием формулы Лаг­ ранжа - Сильвестра ( 1.83) для вычисления матриц (3) и (4), требует определения собственных чисел матрицы А и для матриц большой размерности также является

неприемлемым.

Вместо этого по формуле (2) конструируется систе­

ма разностныл уравнений для вычисления решения

(1)

шаг за шагом. Выберем число Н и запишем

(2)

для

t+H:

 

 

 

 

 

t+н

 

 

 

x(t+Н)=exp(At+AH)x0+ Jexp(A-r)d-rb.

(5)

 

о

 

 

 

Умножая (2) на ехр (АН) и вычитая

из (5),

получаем

 

н

 

 

 

х (t+Н) = ехр (АН) х(t) +fехр (А-r) d-r Ь.

 

 

 

о

 

 

 

Введем дискретные значения

tп=nH, n=O,

1, 2, ...

Обозначив x(tn+1) =Xn+1, х(tп) =Хп, приходим

раз·

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

 

 

 

 

н

 

 

 

 

Xn+i = ехр (АН) Xn +Jехр (А 't') d 'tЬ,

Xn ln=o = Х0

(6)

о

 

 

 

 

Испо.11ьзованпе (6) требует

вычис:1ен11я матриц

 

н

ехр (АН), Jехр (А -r) d -r,

о

или матрпцы и вектора

н

ехр(Afl), Jехр (А -r) d тЬ,

о

которые не зависят от величины tn. Их вычисление мо·

жет быть проведено с использованием рекуррентных

форму~1. Пусть

h= HJ2N,

где N - целое число. Вычислив exp(Ah), можем найти

§ 2.1. Численное решение линейных систе~1

83

ехр (АН), применяя последовательно форму.1ы

ехр (2 Ah) = ехр (Ah) ехр (Ah),

(7)

ехр ( 2N Ah) = ехр ( 2N-I Ah) ехр ( 2N-I Ah).

Формулы (7) заппшем в виде рекуррентного матрич­

ного соотношения

 

(8)

Г.1ё:

 

<pk=exp(2kAh), k=O, 1, 2, ... , N.

(9)

Очевидно, что

<pN = ехр ( 2N Ah) = ехр (АН).

Таким образом, можем выбрать настолько малую ве­

.111'iину h, что обеспечивается ско.1ь угодно высокая точ­ ность представ.1ения ехр (Ah) раз.'Iожением (3) с ма.ТJЬIМ

чпс.1ом ч.'Iенов

 

лv h'"

(10)

ср0 =ехр (Ah) ~ Е +А h+ ... ..:_ _v_J_'

а далее пр11;~,1енять рекуррентное соотношение (8) для определения ехр(АН). Построю~ теперь рекуррентное

соотношение ;r.1я вычисления 1ыа трицы

н

ФN= ,\ехр(А т)dт.

о

Докажем с.1едующее соотношение:

2h

h

 

.f

ехр (Ат) dт = Jехр (А т)dт(Е +ехр (А h)).

(11)

оо

.. С э1ой це.1ью преобразуем правую часть

fехр (Ат) d 't+ехр (А h)) =

о

h

h

= \ ехр (Ат) dт+ Jexp (А/1 +Ат) dт=

оо

h

~

~

= Jexp (Ат) dт+.iехр (Ат) dт = Jехр (Ат)dт. (12)

о

1'1

о

84

Гл. 2. Системные методы

 

 

 

Из (12) с.1едует ( 11). Выражение

(l l)

:vrожет

быть

записано в в1це

 

 

 

 

где

 

 

 

 

2k h

 

 

 

 

Фk= \

ехр(Ат)dт, k=O,

1, ... ,

N,

(14)

о

 

 

 

 

а (/)k опреде.11яется

(9). На основе равенства

 

 

 

211 h

 

 

ехр(2kАh)=ч>в=Е+АФв=Е+А S

ехр(Ат)dт,

(15)

о

1юторое с.1едует пз формул (3) и (4), преобразуем ре­

куррентное соотношение (13) к виду

Фн1= Фв (2Е +АФп).

(16)

В этом с.1учае :;1атрица Фk вычисляется независимо

от (/)k·

С целью минимизации числа арифметических опера­ ций при решении ( 1) вместо матрицы Ф:v можно по­

строить рекуррентное соотношение для вектора

gk=

2kJh ехр(Ат)d-rЬ=ФвЬ,

k=O, 1"." N.

(17)

 

о

 

 

Так как матрицы Фk и Е+(/)k

перестановочны

при

у~множении, в силу (13) и (17) имеем

 

 

gн1=(E+qJ")gп.

(18)

Соотношение (18) следует использовать вместе с (8). При доста1очно малом h, аналогично ( 10), для вы­

числения интегра.11а от экспоненциала можно применять

разложение (4) с малым числом членов

Ф0

h

(

Ah

+... +

Av-1 h''-1

)

(19)

= .fехр (Ат) d т ~h

 

Е+ 2

v!

·

о

Что же практически дает применение рекуррентных соотношений? Допустпм, для интегрирования ( 1) приме­

няется формула Тейлора с четырьмя членами разложе-

§ 2.1. Численное решение линейных систем

85

ния 11 шагом h, обеспечивающим необходимую точность

на отрезке [О, Т]. Возникающее в этом случае разност­

ное уравнение

 

A2/i2 АЗhЗ A4h')

z(nh)+

z(nh+h)= ( E+Ah+-- + -- +

24

 

2

6

 

+h(E +Ah +h2A2 +АЗhЗ) Ь=

 

2

6

24

 

 

= <Роz (nh) +Ф0Ь = qJ0 z(nh) +g0 (20)

соответствует численному решению ( 1) методом Рунге­

Кутта (1.23).

Пусть отношение T/li - целое число. Тогда использо­ вание формулы (20) потребует T/h умножений матрицы

на вектор. С другой стороны, разностное

уравнение (6)

с учетом рекуррентных соотношений (8)

и (18)

имеет

BIIД

 

 

z(nH-t-H)=°{pNz(nH)+g№ n=O, 1, ... ;

H=2Nh.

(21)

При обеспечении той же точности, что и в случае

(20), эта форму.11а требует всего лишь

Т/Н= 2-NT/h

операций

умножения матрицы

на

вектор,_ а

также

.V + 1)

та1ких операций для формирования (j)N

и gN со­

г.~rасно (8) и (18). Число т есть

размерность

системы

(1), а черточки над векторами

и

матрицами означают

их приблпженное вычис.т~:енпе по формулам (10)

и (19).

Д.'IЯ простоты не учитывались операции сложения векто-

ров и вычисление матрицы q;o 11 вектора go в обеих фор­

:-,1улах (20) и (21).

В тех случаях, когда веш1чина T/h оказывается

большой, что, в частности, имеет место для жестких систем, использование формулы (21) дает значительное преимущество по сравнению с (20). Так, например, для системы (1) 63-го порядка с характеристиками

T/h= 217 , m-t- 1=26, N= 8

по.'!учаем выигрыш в объеме вычислительных затрат в.

27 раз.

.86

Гл.

2.

Системные

.Аtетоды

Шаг

д11скретностп

Н

=2Nh

обычно

выбирается

из

ус­

.11ов11я 1юзможностп наб.'Iюдения

спстемой ( 1). Друг11е каrше-либо

процесса,

описанного

ограничения на шаг Н

здесь

практически

отсутствуют,

и

он

может

быть

про­

пзво.1ыю большим вне зависимости от

нення решения. Прп этом необходимая

характера

изме­

точность

гаран­

тируется малой ве"шчиной начального шага Эта особенность а.'!горптма используется

h. в

тех

случа­

ях. ( 1) ма,

когда

при

асимптотической

устойчпвости

решения

требуется

вычпс.1енпе то.1ько

установившегося режи­

т. е.

решения системы алгебрапчесrшх

уравнений,

по.1учающихся прп Шаг Н выбирается

отбрасывании равным Т, и

производных формула (21)

в

( 1).

приме­

няется шрыш + 1]-1

только один раз.

Такой подход

по

сравнению

с

методом (20)

раз.

Для п.11охо

обус.1овленных

обеспечивает вы­

в 2X[N

(т+ 1) +

матриц

А выиг­

рыш становится

весь:ма значительным.

При решении

жесткпх спстем вида

(

1)

может

ис­

по.1ьзоваться

одна

11з

ранее

рассмотренных

разностных

схо1,

эффектнвных 11:v1енно в этой

щпх

применить шаг дискретности

сптуацrш и позволяю­ li* значите.11ьно б6ль­

шпii,

чем

ве.11ичпна

fi

для

(20).

Так,

например,

неявный

:-.1ето,:~

ломаных

Эй.1ера

(

1.5)

порождает

следующее

раз­

ностное

уравнение:

z

(пh*

+h*)

=

(E-h*

А)-1

z

(nh*)

+

h*

(E-h*

А)-

1

Ь.

(22)

Однако даже в

(21),

как

правило,

.111чие

от

Н в (21),

этом

с.1учае вычис.'!енпе по

формуле

предпочтптельнее.

Величина

h*,

в от­

11!\1еет

естественное

ограничение

свер·

ху, опреде.1яемое точностью метода выше затруднениями с обращенпем

и обсуждавшимися

плохо

обусловлен·

ной матрицы (E-/i*A) д.11я прю.1енение формулы (21) в

больших отличие

h*. от

Кроме

того,

(22) позволяет

с

высокой

точностью

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

периодические

частные матрпцы

решения ( l), А с нулевой

отвечающие (ит1 близкой

собственным к нулевой)

числам действи·

те.'!ьной

частью.

Все

ск~анное

вполне

оправдывает

затраты

по

по-

строению (J)N и ЙN· Uпишем процесс

·бодее подробно.

получения

решения

по

формуле

(2.1)

§ 2.1. Численное решение линейных систем

87

l. По заданному шагу Н выбирается величина N та­ ю1м образом, чтобы значение h=H/2N было достаточно

ма.11ым.

Д.'IЯ жесткой системы ( 1)

 

h 1.

(23)

где JIAI! - принятая норма матрицы А.

Ес.'Iи же система

( 1) не является жесткой, то начальный шаг выбирает­

ся из условия точности

(24}

2. Находим Ф0, используя формулу (19). При этом

число v, как правило, не

превышает четырех, а д.11я

жестк11х систем достаточно v=2.

 

3. Вычисляем сро и go

по формулам (15)

и (17), ис­

пользуя Фо.

 

 

4. Вычисляем (ik и gн.

по соотношениям

(8) и (18),

используя qJo и go. Формулы (8) и (18) применяются

.V раз.

5. Вычисляем приближенное решение ( 1), используя

~.v и gN. по формуле (21).

6. Проверку точности получаемого решения можно·

осуществить по правилу Рунге, получая два варианта решения: один с выбранной величиной h, а другой с

вдвое меньшим значением при увеличении чис.11а шагов

в форму.'Iах (8) п ( 18) на единицу.

Отметим, что источниками погрешности в определе-

нии z(nH), <iJ;v и gN я~вляются не только ·приближения в

Фа, но и ограниченно-сть разрядной сетки ЭВМ пр:и ра­

боте с точными формулами (8), (18) и (21).

Как п0t1<азывает опыт использования алгоритма при

решении систем дифференциальных или алгебраических:

уравнений, рекуррентные соотношения (8), (13) и (18)

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

тельной погрешности, чем формула (16). Формула (16) издавна применяется как итерационная формула для· получения обратной матрицы. Однако при этом требу-· ется проведение вычислений с двойной точностью. Объ--

88

Гл.

2.

Сuстел1ные

л1етоды

яснение этого яв.ТJения состоит в том, что на

ге рекуррентного процесса в формуле ( 16)

каждом ша­

явно исполь­

зуется

умножение

на

матрпцу

А,

имеющую

значительно

бо.1ьшие образно

элементы, применять

чем ( 16)

матрица fPh·

д.1я матриц

Поэтому высокой

нецелесо­ размерно­

ст11

прп слишком

 

Перейдем

к

больших мето,J.а\1

.\'. решения

систе:-.1

следующего

вида:

dx dt

=Ах+

g

(t),

g

(t)ECd

[О,

Т],

х(О)=

х

0

(25)

в

Решение форме

(25),

ана.1огичное

(6),

может

быть записано

х

(t +Н)=

ехр

(АН)

х

(t)

+

н fехр (АН-А т)g(t+т) dт.

о

(26)

Введем, как п Пре;:щоложим, что

ранее, дискретные значения

fп=nH.

,J..1я ~каждого значения

tn

и

выбранно­

го

Н

вектор-функцпя

g(tп

+т)

может

быть

с

достаточ­

ной

точностью

представ.1ена

степенным

по.'Iиномом

g(tn

+

т)

=

{, l.J

у=О

Mv

(in,

!!)

:[!__ у!

+rv

(g

(fп),

't',

Н),

(27)

где rv(g(tn),

т, Н)

-

остаточный

разложения.

(27)

 

(26):

Поп.ставим

в

:Х (tп + Н) = ехр (АН) Х

(tп) +

член испо.ТJьзуемоrо

"

н

"

(tп,

Н)+

+"...,

\ехр(АН-Ат)2-dтМ

~

.

у!

"

 

 

у=О О

 

 

 

 

 

 

 

 

 

н

 

 

 

 

 

+ \ехр (АН-Ат) r" (g (tп), 't',

Н) d

 

 

о

 

 

 

т.

(28)

Обозначим

•ФN.

у+1

=

SH ехр

(АН

-Ат)

't"'V

-

1

d

i'·

 

т,

у=

О,

1,.",

v

~

d-1.

о

§ 2.1. Численное решение линейных систе.н

89

Пренебрегая в формуле (28) остаточным членом

н

\exp(AH-Aт)rv(g(tп), т, Н)dт:,

о

перехо.:щм к приближенному разностному уравнению

 

 

 

 

 

 

Zп+1= ехр (АН) Zn +L ФN, v+1Mv(f11,

Н).

(29)

 

 

v=o

 

 

 

 

Д.1я

получения решения с

помощью

(29) необходи­

:-.ю найти матрицы Фs,v +1·

Выше был дан способ опре­

,:~:е.1ения Фх=Ф.v, 1. Обозначим

 

 

 

 

 

25kh exp(2k Аh-А т)т-i'dт;

у=О, 1"." v,

(30)

 

 

 

у!

 

 

 

 

о

 

 

 

 

 

 

 

k =о, 1"." N;

н= 2N h.

 

 

Прнменяя теорему о свертке функций

 

 

 

t

 

t

 

 

 

 

 

Jер (t -т:) '\'(т) d т= iер (т) 1\J (t-т:) d т,

 

 

о

 

о

 

 

 

 

:\!OiКC:\I sап11сать формулы

(30) в в11..:~.е

 

 

 

2k ~

 

 

2k h

 

 

 

 

rехр(2k Ah-A т) !!.._ d т:=

Sехр (Ат) ( 2k h _")v =

'

у!

 

 

 

 

у!

 

о

 

 

о

 

 

 

 

 

2k /1

't

т2•••

'ty

 

 

 

 

S d т1

rd

Jехр(А•v+дd •v+t·

(31)

 

о

о

 

о

 

 

 

1'1атр1щы Фk,v +1 представ.т~яют собой (у+ 1)-кратные

н:.тегралы матричной экспоненты. Интегрируя (v+ 1) раз форму.т~у (3), получаем степенное представление ('У+ 1)-

кратного 11нтеrра.1а от экспоне11ц11а.1а:

(32)