Планирование и обработка эксперимента / Rakitskiy - Chislenniye metodi resheniya 1979
.pdf80 Гл. 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п) =Хп, приходим |
1к |
раз· |
||
постному уравнению вида |
|
|
|
|
н |
|
|
|
|
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 dт= |
||||||
' |
у! |
|
|
|
|
у! |
|
о |
|
|
о |
|
|
|
|
|
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)