Диссертация (1149672), страница 14
Текст из файла (страница 14)
Так какu 1 (u ( j )) j , v 1 (v( j )) j, то значенияфункций u 1 , v 1 в промежуточных точках получаются интерполированием по ближайшим точкам u( j ), v( j ) .В2.1.2 А п р и о р н ы й в ы б о р ш а г а. Величины x0 (значение решения в узле,для которого выбирается шаг h ), , (допустимые относительная и абсолютная погрешности) считаем здесь заданными. Вначале вычисляем i , i [1: n] по процедуреtsmr_ualp, если она задана, в противном случае полагаемmax(| x0 |), max(| x0 |) 0, i [1: n] .max(| x0 |) 01,i Далее вычисляем величинуv 1 ( min (| xi (t0 ) | ) / i ) для нелинейной системыi[1:n ] 1,(| xi (t0 ) | ) / i ) для линейной системыu ( mini[1:n ]78( u 1 , v 1 находим интерполированием, см.
B2.1.1), потом ( ) (см. п.п. B1.3.2.1,B1.3.2.2) и, наконец, полагаем h .В2.1.3 И т е р а т и в н ы й а л г о р и т м к о р р е к ц и и ш а г а. Используемобозначения:i 1, sign( (h)) 0, d h0 / D,D натуральное число, например, D 5 , (i, h) i, sign( (h)) 0s sign( (h0 )) , где h0 шаг, который требуется изменить так, чтобы получить егомаксимальное значение при заданной допустимой относительной погрешности .Алгоритм:1. i : 1 ;2. h : h0 s i d .
Если s sign( (h)) 0, то h h0 s (i, h) d , переход к 5;3. Если i D 1, то h0 : h, d : h0 / D, переход к 1;4.i : i 1 ,переход к 2;5. Выход.В2.1.4 С т а н д а р т н ы й а л г о р и т м к о р р е к ц и и ш а г а. Он основан наапостериорной информации. Измененная величина шагаhдля текущего узла, приизвестных x ( x1 ,..., xn ) в этом узле и приближении h0 , вычисляется по формуле1/( M 1)2 n T (h0 )1h h0 n i 1 max{| xi |,| Ti ( h0 ) |} ( M порядок МРТ);она аналогична используемым в методе Рунге-Кутта [62].В2.1.5 Г р а д у и р о в к а.
Для каждого порядка p [M min : M max ] определяем процессорное время t ( p) вычисления всех коэффициентов Тейлора решения в однойточке. Эту градуировку производим перед интегрированием системы на заданномпромежутке. Ее результаты используем для выбора порядка и шага на первом шагеи для корректировки порядка на последующих шагах.В2.1.6 В ы б о р в е л и ч и н ы ш а г а и п о р я д к а н а п е р в о м ш а г е.Начальное приближение h0 для первого шага вычисляем по алгоритму B2.1.2.
Затем, при p [M min : M max ] , находим V ( p) h( p) / t ( p) пошаговые скорости, где h( p) 79величина шага, полученная МРТ порядка p с помощью алгоритма B2.1.3 с использованием начального приближения h0 . Порядок на первом шаге полагаем равнымтакому M , что V (M ) max V ( p) , и затем в качестве шага принимаем h h(M ).p[ M , M]minmaxВ2.2 Алгоритм автоматического выбора шага. На каждом шаге, кроме первого, за начальное приближение h0 берем значение на предыдущем шаге интегрирования. После этого, по алгоритмам B2.1.2 и B2.1.4 вычисляем два шага h1 , h2 и из нихполучаем h max{h1 , h2 }, а эта величина уже корректируется по алгоритму B2.1.3.В2.3 Алгоритм автоматического выбора порядка.Если на очередном шаге его величина h изменилась в m раз по сравнению с H( H изменяем после каждого изменения порядка M , а на первом шаге принимаем равным величине первого шага), то корректируем порядок M .
Предполагаем известными коэффициенты Тейлора до порядка M и для p M 1, ..., M min последовательно вычисляем длины шагов h( p) и V ( p) h( p) / t ( p) . Как только, и если, окажетсяV ( p) V (M ) , новый порядок M полагаем равным этому p . Если же не найдем такихp M 1,..., M min , то для значений p M 1,..., M max вычисляются коэффициенты Тей-лора порядка p (с учетом того, что коэффициенты порядка до p уже найдены), атакже шаг h( p) и скорость V ( p).
Как только, и если, окажется, что V ( p) V (M ) , новый порядок M полагаем равным этому p , Если не найдется таких p M 1,..., M max ,то порядок не корректируем.В2.4 Алгоритм интегрирования на[t0 , T ] :1. Выбираем величину шага и порядка на первом шаге (п. B2.1.6) и присваиваем эти значения переменнымH, M(см. B2.3);2. Вычисляем в следующей точкеh(п. B2.2) ;tkкоэффициенты Тейлора по (3.5),(3.6) и шаг803. Если шагhизменился вдок M (п. B2.3) и шаг4. Еслиtk h T, тоhmраз по сравнению с H , то вычисляем новые поря-(п. B2.2) ;tk 1 tk h ,вычисляем решение в точке5.
Вычисляем решение в точке T (шаг:h T tk ),tk 1и переходим к 2;выход.3.2 Алгоритм нахождения коэффициентов Тейлора и модификация МРТЗдесь, в первом из двух подразделов рассматривается алгоритм нахождения коэффициентов Тейлора для функций многих переменных и для решений полных систем уравнений в частных производных, а значит, в частности, и для систем ОДУ.Во втором подразделе мы обсудим, как встроить его в рассмотренный в п.3.1.1 алгоритм МРТ и какими свойствами будет обладать новый алгоритм.3.2.1 Коэффициенты Тейлора решений полной системыВновь обратимся к полной системе дифференциальных уравнений в частныхпроизводных первого порядкаxi / t j fi j ( x, ) , i [1: m] , j [1: s] ,(3.11)при обозначенияхx ( x1 ,..., xm ) C m , t (t1 ,..., ts ) C s , (1 ,..., ) C , fi j Cи заметим, что если продифференцировать многократно формальный ряд Тейлораxi (t , ) 0 1 ... s 1 ,..., s 0ci ,1 ,..., s (t1 t1,0 )1 ...
(ts ts ,0 ) s ,то получим:l1 ... ls l1 ...ls xi xi 1 l!...l!ccl!...l! l1 l11si ,l1 ,..., lsi ,l1 ,..., ls1sls ls t1 ...ts t t0 t1 ...ts t t0Теперь займемся вычислением производных и коэффициентов Тейлора решения уравнений (3.11). Введем обозначения:81xi ,l xi ,l1 ,...,ls l1 ...ls xi1, ci ,l ci ,l1 ,...,ls l1 ! ... ls ! xi ,l1 ,...,ls ,lsl1t1 ...tsl (l1 ,..., ls ) , e1 (1,0,...,0),..., es (0,...,0,0,1) ,y1 f1 f11 ,..., ys f s f1s ,..., ym( s 1)1 f m( s 1)1 f m1 ,..., yms f ms f ms ,(3.12) r / s 1, r / s r / s ( f r fi j ) r (i 1) s j; i ,r/s,r/sr/syr f r ( x) , r [1: N ], N ms ,yr , yr ,1 ,..., m 1 ... m yr1dr , dr ,1 ,..., m 1 ! ...
m ! yr ,1 ,..., m ,m ,1x1 ...xm (1 ,..., m ) , e1 (1,0,...,0),..., em (0,...,0,0,1)Применив к системе yr алгоритм символьного дифференцирования (см. параграф2.5) ), найдем дополнительные переменные xm k , k [1: d ] , их первые производныеxm k ,e j и функции yr в форме полиномов по x1 ,..., xmd :xmk X mk ( x1 ,..., xmd ) , xmk ,e j X mk , j ( x1 ,..., xmd ) , yr Yr ( x1 ,..., xmd ) .Теперь вычислим xi ,l и ci ,l .
Вначале отметим, чтоxi ,0,...0 ci ,0,...0 xi , xi ,e j ci ,e j fi j ,(согласно обозначениям (3.12), fi j есть одна из yr fi j , где i, j однозначно определяются по r , s ), а далее, предполагая, что производные xi ,l представлены уже в видеполиномов xi,l X i ,l ( x1 ,..., xmd ) , получаем:xi ,l e j X i ,l e j ( x1 ,..., xmd ) ci ,l e j bl e j X i ,l e j ,X i ,lx jdX i ,lk 1xm k xmk ,e j , i [1: m] , j [1: s] ,bl e j bl (l j 1)1 l1 ! ...
ls ! (l j 1)1 .1Таким образом, получены рекуррентные формулы для символьного вычисленияпроизводных и коэффициентов Тейлора решения полной системы (3.11). В частном82случае, когда это система ОДУ, то есть при s 1 , их можно использовать для вычисления коэффициентов Тейлора в алгоритмах метода рядов Тейлора.3.2.2 Модификация алгоритма МРТ. Пример.3.2.2.1 Модификация алгоритма МРТ.Здесь будут рассмотрены последовательно вопросы, связанные с возможностьюмодифицировать алгоритм и программу Бабаджанянца-Большакова [14] (которыедалее будем называть В-алгоритмом и В-программой – в отличие от модифицированных алгоритма и программы, которые будем называть М-алгоритмом и М-программой) для применения их к системам классовs(m) (см.
п.2.1). При этом будемссылаться на номера разделов из [14] с префиксом B, например, В1.1 (необходимыйнам материал из этих разделов изложен выше, в разделе 3.1.1 также с нумерацией спрефиксом В).В-алгоритм предназначен для решения полиномиальной системы ОДУ при помощи МРТ и использует задание этой системы в двух формах: первой (3.2) и второй(3.3). Первая форма используется для получения оценок радиуса сходимости и остаточного члена ряда Тейлора решения системы (программно), а вторая – для вычисления коэффициентов Тейлора на основе схемы (см. В1.2).М-алгоритм предназначен для решения системы ОДУ классаs(m) при помощиМРТ.















