книги / Метод продолжения решения по параметру и наилучшая параметризация в прикладной математике и механике
..pdf4.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, |
|
|
или принять Z® в виде (л/З,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) |
|
|
4у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, |
в которые подставлялись вычисленные значения функций.