Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы в информационных системах. Учебное пособие
.pdf
z
z
z
z
z
z
z
аппроксимаций Паде функции
z
ezf =)(. Отметим, что аппроксимация
Паде этой функции находит широкое применение в теории автоматического управления при исследовании систем с запаздыванием.
L/M 0 1 2
0
1
2
1
1
1
−1
2
2
22
++
1 z+
1
z
22+−+z
26
z+−+
2
46
2
zz ++
22
2
2
46
++
zzz26
−
2
612
zz+−++
2
612
Используя различия аппроксимации, представленные в таблице,
z
можно получить аппроксимацию
e с различной степенью точности,
что имеет важное значение при решении задачи синтеза и анализа систем автоматического управления.
Вопросы для самопроверки
1. Приведите интерполяционную формулу с полиномиальными
компонентами.
2. Расскажите о разложении функции многих переменных в вет-
вящиеся цепные дроби.
3. Расскажите об аппроксимации Паде.
4. Приведите примеры использования аппроксимации Паде.
5. Расскажите об особенностях, связанных с приближенными вы-
числениями аппроксимаций Паде.
121

∈=′
=
≤
≤
=<<<<
≤
≤
′=−
=
Тема 16. ИСПОЛЬЗОВАНИЕ ТЕОРИИ ВЕТВЯЩИХСЯ
ДРОБЕЙ ДЛЯ РЕШЕНИЯ ДИФФЕРЕНЦИАЛЬНЫХ
УРАВНЕНИЙ
1. Решение обыкновенных дифференциальных уравнений
Для решения обыкновенных дифференциальных уравнений хорошо разработаны линейные методы численного решения Рунге–
Кутта, Адамса и др. В данном разделе рассмотрены нелинейные численные методы, основанные на дробно-рациональном представлении
искомых решений.
Рассмотрим обыкновенное дифференциальное уравнение
],[),,(
Xxxyxfy
(1)
0
с начальным условием
)( yxy
. (2)
00
Как известно, основным источником линейных численных методов решения задач (1), (2) является разложение функции y(x) в ряд
Тейлора. Аналогично использование формулы Тиле, приведенной в
предыдущих разделах, может служить новым источником численных
методов решения задач (1), (2). Методы решения обыкновенных дифференциальных уравнений, основанные на дроби Тиле, будут нелинейными. Можно предвидеть, что
дут устойчивыми относительно малых отклонений значений обоих
аргументов, поскольку цепные дроби устойчивы относительно малых
отклонений своих аргументов. Функции можно приближать дробнорациональными выражениями. Используя эти методы, можно получить дробно-рациональное приближенное решение дифференциального уравнения (1).
Опишем численный метод типа Рунге–Кутта третьего порядка.
],[
Выберем на отрезке
Xx некоторую сетку
0
аргумента так, чтобы выполнялись соотношения
Разложение решения y(x) задачи (1), (2) на отрезке
по формуле Тиле ограничим дробью с тремя звеньями, хотя в принци-
пе, можно выбрать дробь с большим числом звеньев
yy
+=
nn
−
1
xy
)]([
xx
=
n
где
≈
)(
xyy ;
11 ++
nn
+
1
нелинейные численные методы бу-
n
...
210
Xxxxx
.
N
h
+
xy
yyxxh
1
;
`
nn
h
+
)]([\\2
xx
=
n
h
xy
)](\[\\3
}0,{ Nnx
значений
xx
=
n
xxx
nn
1+
122

=β−=β=α=β=α−=
=
22
′
)(2
][\\2
y
y
−=
′′
y
]\[\\3;
y
=
′′
)(3
y
′′′′
−
.
22
′′′
)(3)(2
yyyy
После замены обратных производных получаем
22
′′
yh
)(3
1
nnn
′
yhyy
+
+=
+
n
.
′′
′′′
yhy
−
26
nn
Исходя из приведенной формулы, будем искать желаемое реше-
ние в виде
2
)(
kk
−
+
11
hhkyy
++=
nn
12
,
(3)
kpkpkp
++
222211
где
=
1
);,(
yxfk
nn
);,(
β+α+=
hkyhxfk
nn
nn
12122
β+β+α+=
.;
β+β=αβ=α
32313212
);,(
hkhkyhxfk
23213133
Неизвестные константы могут быть найдены из решения сле-
дующей системы уравнений:
;0
=++
ppp
321
2
;2
pp
2
pp
22
p
α=α+α
23322
3
23
α−=β
2323
222
;32
.;
β+β=αβ=α
32313212
);31(4
−αα−=α+α
Эта система имеет бесчисленное множество решений. С помощью
двух параметров, которые являются произвольными, можно минимизировать точность аппроксимации. Следовательно, мы имеем двухпараметрическое (по числу свободных параметров) семейство нелинейных методов типа Рунге–Кутта.
Одним из решений приведенной системы нелинейных уравнений
будет
−= ppp
2;1;1;21;61;34;67
,
32313212321
тогда формула (3) будет иметь следующий вид:
2
kk
−
)(6
+
=
1
11
);,(
yxfk
nn
++=
nn
nhn
+
hhkyy
−+=
nn
12
;
kkk
+−
87
321
);21,21(
hkyhxfk
12
).2,(
hkhkyxfk
+−=
213
123

=α+
+
Получим аналогично формулу для нелинейного аналога метода
Рунте–Кутта. Для этого будем искать численное решение в виде
v
y
=
n
+
1
1
0
hv
−
1
2
−
1
−
1
−
1
(4)
,
hv
hv
3
hv
4
где
2
k
1
vyv
n
10
v
=
4
v
===
2
y
n
2
12111
n
+++=
nn
nn
kqy
−
n
11
;;;
ky
n
1
2
11
++=+=
;
kckckckcq
443322113
β+β+α+=
n
v
=
3
2
))((
qqkkqy
−−
121
;;
kbkbkbqkakaq
332211222111
hkyhxfkyxfk
β+α+==
nnnn
hkhkyhxfk
121221
);,(
23213133
hkhkhkyhxfk
β+β+β+α+=
2
)(
qqky
−
231
;
2
)(
kqyk
−
111
n
2
)}()()({
kqyqqyqkqqqkqk
−+−+−
1132112
nn
;
);,();,(
).,(
34324214144
Для того, чтобы метод (4) имел 4-й порядок точности, необходимо, чтобы неизвестные параметры удовлетворяли следующей системе
уравнений:
aaa
=++
bbb
321
=α+α
bb
3322
ccc
=++
ccc
321
;61
b
=αβ
2323
cc
c
=αββ
232434
;21;0
2221
;0
;0
2
2
2222
=α+α+α
443322
2
ccbcba
333
;31)()(
=α+α++α++
44
;0
;0
;0)(
=αβ+αβ+αβ
34324242323
2
2222
ccb
ccbcba
2
2424322233
cc
;41)()(
=α+++α++
4433
2
343
;121)()(
=αβ+αβ+βα+
;81)()(
=αβ+αβα+αβα+β
34324244332233
.241
124

α
α
В итоге получаем систему 13 уравнений с 15 неизвестными. Вы-
,
разим все параметры через два свободных параметра
. В итоге
32
получаем:
1
;
−=
1
2
α
2
21
α−
=
1
=
c
1
=
c
2
=
3
31
42
43
2
3
αα
32
=β
=β
=β
1
;
=
aa
2
2
α
2
12
−α
;
=
2
2
;
=
bbb
3
)(3
α−αα
232
)1(12
α−αα
332
(12
)43)(12(
α−−α
32
cc
;
=
4
)1)((12
α−α−αα
3233
)()1(2
α−αα−α−αα
233232
)21(2
α−α
22
.;1
β−β−α=β=α
43424414
;
α−α−α−
223
21
α−
2
;
)(3
α−αα
233
)43)(21())(4)21(3(
α−α−−α+α−αα+α
3232323
;
))(4)21(3)(()43)(21)(1(
α+α−αα+α−α−α−α−α−
323223322
αα−α−α
=β
32
)21)(1)(1(
α+α−αα+α−αα
3232233
))(1)(1
α−
23322
)(4)21(3
α+α−αα+
3232
;
)1)(1(12
α−α−
32
)(
α−αα
233
;
)21(2
α−α
22
))(1()12)(1)(1(2
α−αα−−−αα−α−
232323
;
))(4)21(3)((2
α+α−αα+α−αα
3232232
;
))(4)21(3)((
;
Понятно, что в случае использования предлагаемой методики
можно получить метод любой заданной точности. Трудности при построении таких методов, будут вычислительного характера.
,αα
Выбирая соответствующим образом
, получим двухпара-
32
метрическое семейство методов для решения задач Коши.
В настоящее время известны работы, в которых на основе изложенного подхода сделана попытка построения численных методов
для решения жестких систем обыкновенных дифференциальных
уравнений.
2. Решение дифференциальных уравнений с частными произ-
водными
Основная цель этого параграфа – получить устойчивые и экономичные алгоритмы решения уравнений с частными производными на
основе использования ветвящихся целых дробей.
В первую очередь, рассмотрим линейные дифференциальные
уравнения с частными производными. Известно, что такое уравнение
125

=
′+=
−=′
на основе использования метода конечных разностей можно привести к системе линейных алгебраических уравнений при условии, что
граничные условия также будут линейными. Решения этой системы
уравнений дают приблизительные решения уравнения в частных
производных.
Использование метода ветвящихся целых дробей для решения хорошо приближающихся систем конечноразностных уравнений дают
хорошие результаты и для
приближенного нахождения решений уравнений с частными производными. Оказалось, что алгоритмы Гаусса,
окаймления, и некоторые другие могут быть интепретированны как алгоритмы ветвящихся цепных дробей специального вида. Это открывает
новые возможности для построения новых алгоритмов в виде ветвящихся цепных дробей иных типов. Для построения приближенных методов
решения нелинейных дифференциальных
уравнений с частными производными можно использовать формулу разложения функций в ветвящуюся цепную дробь. Приведем некоторые результаты, основанные на
формулах разложения функций в ветвящиеся цепные дроби.
Самарский А.А. в 1980 г. высказал идею применения цепных и
ветвящихся цепных дробей для нелинейного приближения производных, имеющихся в дифференциальном уравнении. Покажем это
на
примере.
Как известно, производные y′(x), y″(x) можно линейно заменить,
используя формулу Тейлора. Пусть шаг сетки h обозначим
k
)(khyy
тогда
).(1nhyhyy
nn
+
Поэтому
hyynhy
/)()(
y′;
nn
1
+
2
′
+=
nn
+
1
−=
nn
−
1
+
′
+
′′
);(21)(
nhyhnhyhyy
2
′′
).(21)(
nhyhnhyhyy
Отсюда
,
−
yyh
=
1
nn
−−
yyh
−
1
′′
=
nhy
)(
−
nn
1
2
1
2
=
2
hh
2
hh
+−−
yyyy
11
2
h
2
2
=
2
+−
yyy
−++−
11
nnnnnnn
.
2
h
Однако можно заменить эти же две производные, используя формулу Тиле:
126

−
=
yy
h
+=
1
′
nhy
)(
yy
11
h
+=
h
+α
1
α
2
yy
1
−++
nnnnnn
h
+=
1
.;;
h
−
+α
α
2
Из последних двух соотношений получаем нелинейное выраже-
′′
y
ние для
. Понятно, что на этом пути можно получить приближенное
значение производных сколь угодно высокого порядка. Нужно только
увеличивать количество звеньев в формулах Тиле и количество уравнений для определения производных.
Рассмотрим численное решение рядом с начальными условиями
для уравнений теплопроводности с помощью явной нелинейной сеточной модели
,)( fuL
где
⎧
⎪
uL
)(
⎨
⎪
⎩
⎧
⎪
f
=
⎨
⎪
⎩
2
u
u
∂
∂
−
2
t
∂
x
∂
xu
)0,(
{}
{}
x
ψ
).(
TtxD
∞≤≤≤∞<<∞−=
);0;(,
TtxDtx
∞≤≤≤∞<<∞−=ϕ
);0;(),,(
Предполагается, что все известные функции – гладкие. Выберем
прямоугольную сетку и заменим область
примем координаты узловых точек сетки
сеточной областью ⎯
D
),(nmtx определяются по
D ,
h
формулам:
;0...,,2,1,0;;
>±±=τ==
nm
n
hmntmhx
.)1(;0;,0,
τ+≤≤τ>τ=τ=
NTNNnnt
Вместо задачи (1) рассмотрим ее разностную модель, когда производная определяется приблизительно не на основе разложения в ряд
Тейлора, а на основе разложения функции в цепные дроби
n
nmn
∂
∂
где
+
1
u
∂
t
∂
2
u
2
x
tx
nm
n
m
n
m
=
),(
),(
txuu = .
nm
m
=
tx
),(
nm
n
n
m
m
n
m
uuu
−
m
n
1
+
u
τ
m
n
m
n
−
huu
11
m
−+
2
u
∂τ
)(
−
2
2
t
∂
n
n
−−+−
m
m
22
;
(5)
),(
tx
nm
n
uuuuuuu
1111
m
−+−+
42
))()(2(4
uh
∂
−
4
12)(
x
∂
,
(6)
),(
tx
nm
Формула (5) получается, если воспользоваться разложением
функции u(x, t) в цепную дробь без нулевого члена, а формула (6) –
127

∑
если воспользоваться разложением той же функции u(x, t) по формуле
Тиле. При такой замене вместо линейной задачи (1) нужно решать систему линейных алгебраических уравнений:
)(
hh
;)(
fuLh
=
n
⎧
ϕ
⎪
h
m
f
h
;
=
⎨
⎪
ψ
⎩
=
m
).,(
txuu
nm
Эффективность предлагаемых схем можно увидеть на текстовых
примерах с использованием ЭВМ.
Рассмотрим еще один подход, основанный на использовании теории ветвящихся цепных дробей для решения дифференциальных уравнений в частных производных. Продемонстрируем сущность предлагаемого подхода на решении следующей задачи:
u
∂
=
t
∂
2
u
∂
2
xa
2
t
∂
(7)
xatxf
1),,()(
≤≤−+
с граничным условием первого рода:
=
=
1
x
=
(7)
),(),(
tFtxu
2гр
);(),(
tFtxu
=
1гр
0
x
с начальным условием вида
).(),(
xEtxu
0
t==
Предположим, что решение u(x, t) задачи (7) может быть приближено аппроксимирующим рядом
Φ=
xtVtxu
,)()(),(
nn
nn
2
cos,,
и др.,
в котором
n
)(x
Φ – известная функция, например, nxxx
n
имеющие соответствующую степень гладкости по x.
2
Производные
),(
txu
∂
∂
,
x
∂
),(
txu
, с использованием граничных и
2
x
∂
начальных условий могут быть разложены в ряды по функциям u(x, t).
Например
∂
где координаты
),(x
Φ
их производные через граничные условия. Явный вид ),(
n
2
txu
),(
=
2
∂
x
n
),(iixxD выражаются через известную функцию
2
Φ∂
n
∑∑
2
∂
x
i
=
tV
txuxxD
),(),()(
ii
,
xxD
ii
можно определить разными способами.
128

x
Введем ряд опорных точек в область определения функции u(x, t)
по x, получим
xxx ,...,,
. Далее построим ветвящуюся цепную дробь,
n
10
интерполирующую u(x, t) по опорным точкам. Для этого используем
представление в виде формулы Тиле. Далее величины u(–1, t) и u(1, t)
определяются из граничных условий, т.е.
.
)(),1(),(),0(
tFtutFtu ==
2гр1гр
2
u
u∂∂
Частные производные
∂
∂
определяются непосредственным
;
2
t
дифференцированием ветвящейся дроби, получаемой по опорным точкам функции u(x, t) по x.
В результате, будем иметь систему обыкновенных дифференциальных уравнений, каждое может быть решено известными методами.
Отметим, что как правило, полученная система уравнений обладает
свойствами жесткости.
Пример:
Использование теорий непрерывных дробей для решения задач
устойчивости
систем автоматического управления.
Рассмотрим решение задач об устойчивости линейной системы
автоматического управления, характеристическое уравнение которой
имеет следующий вид:
1
n
n
−
1
n
−
2
n
−
2
n
−
....)(
aSaSaSaSSf
+++++=
01
Как правило, для решения задач об устойчивости линейной системы автоматического управления, характеристическое уравнение которой имеет вид (1), использовались критерии Гаусса или Гурвица,
однако их использование связано со значительными вычислительными
затратами. Ниже без доказательства приведен ряд утверждений, использование которых позволяет решить задачу об устойчивости с
меньшими вычислительными затратами.
Утверждение
Пусть
1.
ˆ
n
n
−
1
n
−
1
n
−
2
...)(
aSaSaSSf
++++=
n
−
2
– полином с вещест-
0
венным коэффициентами и пусть
SaSaSaSg
5
−
n
5
−
n
...)(
+++=
1
−
n
1
−
n
3
−
n
3
−
n
Тогда
том случае, когда проверяемую дробь
)(ˆSf
является устойчивым полиномом в том и только в
fgtˆ= можно представить как
неправильную дробь вида:
1
...
,
++++
SdSdSdSd
n
129
где
St
i
=>
Sg
)(
ˆ
Sf
.,1,0 nid
1
)(
==
1
+
)(
11
321

+
=
+
=
−
=
Рассмотрим следующий пример.
Пример 1.
ˆ
1
где после деления SS 105
3
+=
St
)(
1
ˆ
SgSf
+=
3
+ на 482+S получаем
2
234
SSSSSf
;410105)(
++++=
SSSg
;105)(
1
==
+
)()(
ShSSh
21
;
)(1
Sh
1
32
+++=
,)(1)51()(
2
++= SSSSh ,
);105/()48()51()(
SSSSSh
)48/()215()85()(
следовательно,
)(1)85()(
ShSSh
,
32
где после деления
482+S на 2/15S получаем
3
[]
SSSh )815(1/)1516()(
.
Комбинируя предыдущие результаты, мы получаем представление в виде непрерывной дроби
)(
St +++
1
=
)51(1
+
Из утверждения вытекает, что
1
)85(
1
)516(
ˆ
)(
Sf
– устойчивый полином.
1
.
)815(
SSSS
Пример 2.
При каком значении вещественной константы
ˆ
234
cSSSSSf ++++= 10105)(
будет устойчивым. Следуя процедуре,
использованной в примере 1, получаем
1
)85(
ccdcd )85(10;)85(108
где
[][]
−= , следовательно, d
когда c > 16, а d
лать вывод, что
St +++
)(
больше нуля, когда c > 0. Таким образом, можно сде-
4
1
=
+
)51(1
43
)(ˆSf будет устойчивым полиномом в том случае, если
0 < c < 16. Очевидно, что для устойчивости полинома
11
,
SdSdSS
43
> 0 тогда,
3
)(ˆSf необходи-
мо существование, с одной стороны, его представления в виде
1
,
++++
...
SdSdSdSd
m
130
1
1
+
11
321
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
