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

книги / Метод продолжения решения по параметру и наилучшая параметризация в прикладной математике и механике

..pdf
Скачиваний:
5
Добавлен:
12.11.2023
Размер:
8.08 Mб
Скачать

4.4. Неявно заданные обыкновенные дифференциальные уравнения

121

то задача (4.34) примет вид

dy

3/(0) = 2,

d X у / ( 1 - У 2 ) 2 + У 2 '

dX ~

1 - Г

<(0) = 0.

у/(\ ~У2)2 +У2

 

 

 

Эта задача была проинтегрирована при помощи программы РС1 за 14с. Ошибка Д при t = -2 была равна Д = 0,55 • 10-2.

В качестве другого примера рассмотрим решение задачи (4.26), преобразованной к виду (4.29).

Решение этой задачи для f G [0,1] при помощи программы DE1TLN приводит к следующим результатам, когда g(t) = е*:

t / = l ,

fc4 = 39с,

Д[ = 0,79• 10 3,

Д2 = 0,21 • 10-3,

г] = - 2,

tc4 = 42с,

Д! = 0,23 • 10-2,

Д 2 = -0,53 • 10_3.

Здесь погрешности вычислений подсчитывались по формулам (4.28) при t = 1, а начальное значение вектора Z принималось в виде (4.40).

Интегрируя задачу при помощи программы DEUN, получаем:

V = 1,

*сч = 48с,

Д] = -0,93 • 10~4,

Д2 = -0,33 • 10~4,

1/ = —2,

= 51с,

Д, =0,79ИГ3,

Д2 = 0,21 - 10-3.

Начальные значения (4.45) определялись из решения в начальной точке нелинейной системы уравнений

Yl+ TitY2 + (l+ V)y2T = 0,

< Y2+g(t)T = 0,

kyi2+ r 2 + r 2 = l,

и оказались равными

Yl0 = (i + ?)g(Q)

Q '

1/2

Q = [l+ ( l+ T /) 252(0) + 52(0)]

Наконец, рассмотрим решение задачи (4.31). После линеаризации относительно производной у, система (4.39) примет вид

' j i ( t - l )

y (*-i)

y(t-l) - 1 ) F (t) + у - 1 + In y(t-l)

- 1 r (t) _ 0)

 

(4.47)

122

1лава 4. Дифференциально-алгебраические уравнения

Из-за наличия в системе логарифма не всякое начальное зна­

чение вектора Z

будет удачным. Так,

к неудачам

приводят значе­

ния (0,1); (1,1)/>/2; (1, л/3)/2;

(1,2)Л/5.

 

Если же при решении системы линейных уравнений (4.47) взять

точное начальное значение вектора Z

 

 

 

z (0) _

^ Q = ( l + e 2)l/2,

(4.48)

получающееся из решения в начальной точке системы

 

 

 

У

У

 

 

У - t -

т + 1пу =0.

 

 

{У2 + Г 2 = 1,

 

 

или принять в виде (л/З,1)/2; (2, 1)/>/5 близком к точному, то получаем достоверное решение задачи, которое не зависит от начального значения Z, если решение системы (4.47) сопровожцается нормировкой вектора Z. Если нормировка отсутствует, то достоверные результаты

получаются только при точном значении Z ^ \ определяемом равенст­ вом (4.48).

Решение задачи (4.31) на отрезке t 6 [1,2] строилось при помощи программы DE1ILN за 23 с. Ошибка (4.32), вычисленная при t = 2, была

равна Д = 0,29- 10-2.

Рассмотрим решение этой задачи при помощи программы DE1IN. Уравнение типа (4.42) примет вид

(j/ - f + In У - In Т)Т - У = 0.

Производные Y', Т' удовлетворяют системе линейных уравнений

/ \ F - l>) Y ' + ( y - t + l n Y ~ l n T - l )T ' = (t ~ y )t >

{ у у ' + ТТ' = 0.

При интегрировании системы дифференциальных уравнений (4.44) начальные условия для функций У, Г с учетом (4.46) следует взять в виде

Г (0) = ^ ,

Задача была решена за 27 с. Погрешность в момент t = 2 была равна Д = 0,15-К Г3.

Проведенные исследования позволяют сделать некоторые выводы.

4.4. Неявно заданные обыкновенные дифференциальные уравнения

123

Начальное значение вектора Z в программе DE1ILN не всегда можно принять в виде (4.40). Иногда следует поварьировать его компо­ ненты или выбрать их близкими к точным значениям, получающимся из решения системы (4.46).

Наличие нормировки решения системы линейных уравнений (4.39) гарантирует от неприятностей, связанных с приближенным значением вектора

Переход от неявной системы дифференциальных уравнений (4.33) к явной системе дифференциально-алгебраических уравнений (4.17) при­ водит к увеличению времени счета и к уменьшению точности вычисле­ ний.

По сравнению с программой DE1ILN программа DE1IN имеет большее время счета, но, как правило, более высокую точность вычисле­ ний. Однако, существенными недостатками программы DE1IN являются следующие:

переход к системе (4.43) сопряжен с дополнительным дифференци­ рованием, что может оказаться довольно сложной задачей;

интегрируется система дифференциальных уравнений (4.37), (4.44) в два раза большего порядка, что может привести к большому времени счета при решении неявных систем уравнений высокого порядка;

наконец, программа требует точного решения нелинейной системы (4.46), из которой определяются начальные условия (4.4S).

В качестве еще одного примера рассмотрим численное интегрирова­ ние неявной системы кинематических уравнений Эйлера (2.40). Матрица этой системы вырождается вблизи значения угла в = 0 и решение этой системы с помощью программы DE11LN при условиях ш\ = -100, о>2 = 1, <*>з = 0, ф = <р = t = 0, в = ir/100 приводит к неудаче.

После применения к системе (2.40) Л-преобразования ее можно записать в виде

Эта система уравнений успешно решается при помощи программы DE1ILN как при условиях ш\ = -100, и>2 = 1, о>з = 0, ф = = t = 0, в = тг/100, так и при последнем условии в = 0, если начальное значение вектора Z принять в виде Z ^ = (1,0,0,0).

124

Глава 4. Дифференциально-алгебраические уравнения

Заметим, что таким же образом численно может быть успешно решена система кинематических уравнений для самолетных углов [36]

/

sintf

0

1 \

/

1/>Л

( ШЛ

I

cos0 cos7

sin7

0 1

I

I =

I и2 I •

\ -

cos 4? sin 7

cos7

0 /

\

7,«/

\ ш3 /

Здесь i> — угол рыскания, Ф — угол тангажа, 7 — угол крена. Матрица этой системы вырождается при Ф= тг/2. После применения А- преобразования последняя система примет вид

sin#

0

1

cos Фcos 7

sin 7

0

- « I \

( b \

( °0

- u 2

ь

 

- cos Фsin 7

cos 7

0

- и з

1

0

* 1

z l

*3

z4 /

\t ,x )

Vi

4.5. Неявно заданные дифференциально-алгебраические уравнения

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

( f{t 1

У\I • • • ) Уп> *!> ■ ■ •> ®т> У! >• • • > Уп) — 0>

\ G(f,

V\i • • • >i/ni ®li • • • >*m) —О,

(4.49)

 

&(*о) = И0>

®/(*о) = *j0,

* = 1, П»

3 = 1. т,

/

=

(/l, -

■, /п)Г,

G =

(GI, . . . )Gm)1’,

G(to,

УЮ>■ • • ) УпО) *10)

• • • ) *m0) = 0)

J/i =

Введением новых переменных z* = ?/,■эта задача преобразуется в за­ дачу с расширенным пространством решений (4.17), определяемую явно заданными дифференциально-алгебраическими уравнениями. Однако, как показано выше, такой подход может привести к вычислительным трудностям.

Рассмотрим алгоритм решения задачи (4.49) без преобразования ее к виду (4.17). Для задачи (4.49) доказана теорема 4 о наилучшем аргументе А. Сформулируем задачу относительно этого аргумента.

Пусть j/i = y i(А), Xj = X j(A), t = f(A) являются дифференцируемыми функциями аргумента А, отсчитываемого вдоль интегральной кривой от начальной точки задачи Коши (4.49).

С учетом обозначений (4.18), принимая во внимание смысл наилуч­ шего аргумента, получаем равенство

Yi y i + X j X j + T 2 = 1.

(4.50)

4.5. Неявно заданные дифференциально-алгебраические уравнения

125

Линеаризуем систему (4.49) на - 1)-ом шаге итерирования от­ носительно функций ?/j, равенство (4.50)-относительно квадратичных слагаемых, а вектор-функцию G дифференцируем по А. Получаем систе­ му линейных уравнений относительно функций Y i , X j , T , вычисляемых на &-ом шаге

г 2,(*-1)/;лу;(*) +

(/•т<*"1>-

= О,

< G ,yY ^ + G ,x, X {k) + G!tT ^ = 0,

(4.51)

1)у(Л) ^

Jl(fc-l)Jt(&) =

J

Звездочкой помечены функции, вычисленные при

Если начальная точка не является предельной, то начальное зна­ чение вектора Z = ( Y \ , . . . , Y n , Х \, ... , X m , Т ) т можно принять в ви­ де (4.22); проблема состоит в интегрировании системы дифференциаль­ ных уравнений (4.18), правые части которой определяются из решения системы линейных уравнений (4.51) с использованием метода Ньютона— Рафсона и с последующей нормировкой по формулам (4.21). Так как аргумент А отсчитывается от начальной точки задачи (4.49), то начальные условия для системы (4.18) будут иметь вид

Jfi(O) = ViO, xj(0) = xj0, Щ = <o, t = T~n, j = T~m. (4.52)

Очевидно, что в случае системы (4.49), линейной относительно про­ изводных уj, такой подход позволяет отыскивать решение системы (4.51), которое не требует итераци энного уточнения, не зависит от решения, найденного на предыдущем шаге, и удовлетворяет равенству (4.50).

В соответствии с этим алгоритмом разработана вычислительная программа DA1ILN, в котрой интегрирование дифференциальных урав­ нений осуществлялось при помощи программы РС1, а система линейных уравнений решалась методом Гаусса.

Отметим, что наличие программы метода йрогноза и коррекции РС1 обеспечивает итерационное уточнений решения линеаризованных систем (4.39), (4.51), когда производные у,- входят нелинейно в уравнения задач (4.33), (4.49).

Другой алгоритм решения задачи (4.49) заключается в следующем. Перепишем первое векторное уравнение задачи с учетом равенств щ = Y i / T в виде

F ( t, у \ , . . . , Уп> x i , . ■ . , x m, Y \ , . . . , Yn, Т ) — 0.

(4.53)

126

Глава 4. Дифференциально-алгебраические уравнения

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

Продифференцируем выражения (4.S0), (4.53) по Л один раз, а век­ торную функцию G системы (4.49) два раза, тогда получаем следующую систему линейных уравнений относительно производных от функций Yi,

X j , Т

’ F r t f + V = ~ { V + V J + F tT ),

' V i + v

' i + Gt T> =

 

+ G'*ix i + G№ ’

(4.54)

 

 

YiY- + X jX 'j + TT* =

0.

 

 

 

 

Здесь штрих означает дифференцирование по Л:

 

dXi _ у/

d X j _

,

d T

.

(4.55)

d

\ - ¥i’

d \ ~

Xjt

d \ ~ x

-

 

Таким образом, проблема заключается в интегрировании системы дифференциальных уравнений (4.18), (4.55), удовлетворяющей началь­ ным условиям (4.52) и

Y i ( 0 ) = У;0, X j ( 0 )

= X j 0 , Т(О) = Т0,

t = T7n,

(4.56)

j= T~m .

Правые части уравнений (4.55) удовлетворяют системе линейных ал­ гебраических уравнений (4.54), а начальные условия (4.56) определяются из решения нелинейных уравнений

^(*0 ,

УЮ, ■ • • >Уп0> ® 10 , • • • >®m0i

Tjo> • • • >5п0> 2Ь) =

<

+ G% Х,о + Gjlb = 0,

(4.57)

. Y iQ Y fl + X j o X j Q +T Q = 1,

где нуль при производной от векторной функции G означает, что производная вычисляется в начальной точке задачи (4.49).

В соответствии с этим алгоритмом разработана программа DA1IN, интегрирующая дифференциальные уравнения при помощи программы PC 1 и решающая систему линейных уравнений методом Гаусса.

Примеры

Рассмотрим задачу Коши для системы

у(0) = 2,

(4.58)

®2 + 4(у - 0,5)2 + <2 = З2,

*(0) = 0.

4.5. Неявно заданные дифференииально-ал! ебраические уравнения

127

Интегральная кривая задачи получается в результате пересечения поверхности цилиндра (4.35) с поверхностью эллипсоида, заданного вторым уравнением системы (4.58).

Ошибку вычислений можно оценить по формулам

А ,= 1 п ! "

2 * + 2’

(4.59)

Аг = 4(у -

0,5)2 + х2+ 12 -

9,

где фигурируют численные значения функций.

Задача решалась при помощи программы DA1ILN с начальным ша­ гом интегрирования по переменной Л, равным 0,001, и точностью 10-5 до значения t = -2 . Время счета <сч составило 138с. Ошибки, подсчитан­ ные по формулам (4.59), были равны Ai = 0,22-10“2, Дг = -0,96 • 10~2.

Система линейных уравнений (4.51) имела вид

 

' (1 -

у2)У(*) - у Т ^ = 0,

 

 

- 4(у -

0,5)У(к) + х Х ^ +

= 0,

(4 60)

у(*-1)у(*) -Р

J ’O’-O j'M

= J

Если при решении этой системы начальное значение вектора Z взять

ввиде (4.22), то получается вырожденная система уравнений, но она

содинаковым успехом решалась при Z<0>= (O,l,O),Z<°> = (l,l,l)A/3 .

Отметим, что если определители, стоящие в правой части преобразованой системы (4.15), подсчитывать по правилу Крамера с учетом равенства (4.16), то при сохранении той же точности вычислений время счета возрастает до 163с.

При решении задачи (4.58) посредством программы DA1IN получаем

следующие результаты

= 163 с., А) = -0,3 • 10-1, Дг = 0,13 • 10-1.

В этом случае система линейных уравнений (4.54) имела вид

' (1 -

У2)У' - у Т ' = 2yY2 + YT,

' 4(у -

0,5)У' + хХ ' + tT' = -4У 2 - X 2 - Т2,

>YY' + X X ' + TT' = 0.

Начальные условия для системы дифференциальных уравнений (4.55) определялись из решения в начальной точке задачи (4.58) уравне­ ний (4.60) при

у (* -0 _ у(») = у = у0,

 

Х М ) = Х (*)= Х = Х0|

(4.61)

у(*-1) _ ji(fc) = 21= Го,

128 Глава 4. Дифференциально-алгебраические уравнения

и оказались равными

К0 = Г(0) = 0, Х0 = Х(0) = 1, Т0 = Т(0) = 0.

Чтобы образовать в системе (4.58) зависимость первого уравнения

от второго, подставим в первое уравнение выражение 1 - у2, найденное из второго, тогда первое уравнение примет вид

(ж2 + 12 - 4у - 4 ) ^ - 4у = 0. at

Решение задачи (4.58) при таком первом уравнении дало следующие результаты:

программа DA1ILN <Сч = 141 с., А | = 0,45 • 10-2, Д2 = -0,95 • 10-2;

программа DA1IN tc4 = 167 с., Д | =0,49- Ю-1, Д2 = -0,13-10"*.

Заметим, что эта задача является трудной для любого традиционного численного метода решения обыкновенных дифференциальных уравне­ ний. Помимо ранее отмеченной предельной точки, лежащей на пря­ мой у — 1, t = 3/2 - In 2, здесь присутствует неприятность в начальной точке. В ней обращается в нуль производная <7* = 2®, что делает невозможным определение функции X при обычном подходе.

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

f y - t - y

+ \ny = Q,

у( 1)

=

е,

(4.62)

<

,

,

х (1)

=

,____

[ у -

ж2 -

г = 0,

л/е —1.

 

Пространственная интегральная кривая задачи получается в резуль­ тате пересечения поверхности цилиндра у - е* = 0 с поверхностью параболоида, заданного вторым уравнением системы (4.62). Ошибку вычислений оцениваем по формулам

Д 1 = У- е, А 2 = у - х 2 - t2,

(4.63)

где присутствуют численные значения функций.

 

Задача (4.62) при начальном шаге интегрирования по

перемен­

ной А = 0,001 и точности вычислений программы РС1 10~5

решалась

при помощи программы DA1ILN на отрезке t € [1,2] за 38с. Ошибки (4.63), вычисленные в момент t = 2, имели значения Д) = 0,29- 10-2, Д2 = 0,9- 10"3.

4.5. Неявно заданные дифференциально-алгебраические уравнения

129

Система линеаризованных уравнений (4.51) имела вид

Г(<!) - 2хХМ -

2tTW = О,

 

 

 

y(t-l)y(t) j_

 

 

 

 

= 1.

 

При решении задачи рассматривалось как точное значение вектора

Z ^ = ( Y 0, X 0,T0)r

 

 

 

 

 

 

 

Y Q =

2VT = 7

x 0 =

e - 2

n - 5 e,

 

Q

:

eQ

(4.64)

 

 

 

Q = v/4e^3,

 

 

найденное из решения системы

 

 

 

 

 

е

-

, -

§ + ,П| = 0

,

 

 

Yi — 2vT— T x0 — 2Гц = О,

 

 

у? +-*о +^о = 1»

 

 

так и приближенное

 

= (2 ,2 ,1)/3. На решение задачи это влияния

не оказывало.

 

 

 

 

 

 

 

При помощи программы DA1IN задача (4.62) решалась 43 с. Погреш­

ности в момент времени t = 2 были равны Ai=0,15-10~3, Д2=0,6810-4. Значения производных Y', X ', 1* определялись из решения системы

линейных алгебраических уравнений

( I -1) Y ' + ( y - t + ln^ - l) T' = T2 - YT>

Y' - 2хХ' - 2Г Г = 2(Х2 + Т 2),

YY' + Х Х ' + ТТ' = 0,

а система дифференциальных уравнений (4.55) интегрировалась при на­ чальных условиях, определяемых значениями (4.64).

Чтобы в системе (4.62) образовать зависимость первого уравнения от второго, первое уравнение принималось в виде

х2 + 12 - 1 - у + In у = 0.

В этом случае получены следующие результаты решения задачи:

130

Глава 4. Дифференциально-алгебраические уравнения

программа DA1ILN tC4 = 39 с. Д] = 0,21 • 10-2, Дг = 0,91 • 10_3; программа DA1IN <сч = 44 с. Д] = 0,79-Ю-3, Дг = 0,51 • 10"4. Эта же задача, преобразованная к виду

dt

= ®2,

 

У(1) = е,

Я2 + t 2 -

t -

Х2 + In »2 = 0,

®i(l) =

V'e - 1

у -

х] -

t 2 =

О,

®2(1) =

е,

решалась при помощи программы DA1EXP. Система уравнений (4.20) имела вид

' УW _ д2г(*) = о,

2х хХ ^ + ^

- 1^ X ^ + (2t - 1)Г<*) = О,

 

yW _ 2x {x

f ) - 2ffW = О,

 

>y(*-l)jr(*) +

+ Х%~ 1^ Х ^ +

= 1.

Начальный вектор Z принимался в виде (4.22). Время счета соста­

вило 43 с., а ошибки вычислений Д 1 = 0,28 • 10~2, Дг = 0,99 • 10_3.

В качестве еще одного примера рассмотрим решение задачи Коши для дифференциально-алгебраических уравнений, которая имеет замкну­ тую интегральную кривую

<

(2P - b 2) y ^

= b2t - P ( 2t - a ) ,

у(0) =

Ь,

dt

 

 

(4.65)

 

2 + х2 + ? ~

16 = 0,

я(0) =

2 \/4 - Ь2,

где Р = Р(у, t) = y2+ t2-at] a,b — заданные числа. Интегральная кри­ вая задачи получается в результате пересечения поверхности цилиндра,

направляющей которого является кривая, называемая улиткой Паска-

л

ч л

л

ля, описываемая уравнением Р (у, t) -

Ь (у

+ 1 ) = 0, с поверхностью

эллипсоида, заданной вторым уравнением системы (4.65).

Для того, чтобы система оказалась связанной, учитывая уравне­

ние элипсоида,

выражение для функции Р(у, t) записывалось в виде

Р = P(y,t, я) =

1 6 - я 2 - 3у2 - at.

 

Для оценки погрешности использовались соотношения

 

Д) = 2 + t2 - at)2 -

b2(y2 + 12),

 

A 2 = 4y2 + z 2 + t2 -

(4.66)

 

16,

в которые подставлялись вычисленные значения функций.

Соседние файлы в папке книги