Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы в информационных системах. Учебное пособие
.pdf
)
(
)
~
=++−+++
+
следовательно U(x, y) можно выразить в следующем виде:
),( hyxUhyxUyhxUyhxUyxU −+++−++=
1
4
)).,(),(),(),((
(3)
Однако, чтобы иметь возможность оценить точность такой замены, следует идти по несколько иному пути, используя для получения
конечно-разностного уравнения формулу Тейлора
⎛
∂
⎜
+=++
yxUsyhxU
1
∂
⎛
+ syhxUs
h
⎜
2
∂
x
⎝
2
∂
⎞
+
∂
x
yxUs
⎟
⎠
1
...),(
++
h
⎜
∂
x
⎝
⎛
∂
⎜
+
h
⎜
!
∂
xk
⎝
.10
≤θ≤
⎞
∂
⎟
),(),(),(
+
⎟
∂
y
⎠
k
⎞
∂
⎟
⎟
∂
y
⎠
+
yxUs
(4)
),,(
θ+θ+
При этом можно воспользоваться разными схемами.
Первая схема. Рассмотрим точку A и ближайшие к ней соседние
точки B, C, D, E с координатами A = (x, y), B = (x – h, y), C = (x + h, y),
D = (x, y + h), E = (x, y – h) Согласно формуле (4) при k = 4, s = h получим:
xxxxxx
UUUU
,,
yyyyyyyyxxxx
1
432
;
UhUhUhhUyxUyhxU +−+−=−
xxxx
!4
1
~
432
UhUhUhhUyxUyhxU ++++=+
xxxxxxxxxx
!4
1
432
UhUhUhhUyxUhyxU
+−+−=−
++++=+
yyyyyyyyyy
!4
(
1
432
UhUhUhhUyxUhyxU
yyyyyyyyyy
!4
;
;
.
),(),(
),(),(
Здесь
ции U(x, y) в точке (x, y), а
),(),(
),(),(
1
2
1
2
1
2
1
2
UUUUUU ,,,,,
yyyyyyxxxxxx
, – значения произ-
xxxx
1
!3
1
!3
1
!3
1
!3
– значения производных функ-
водных в некоторых промежуточных точках.
Складывая эти значения, получаем
),(),(),(),(
−
2
+++=
yyxx
hyxUhyxUyhxUyhxU
),(12)(),(4
yxRUUhyxU
(5)
где остаточный член R определяется равенством:
4
h
(
),(
yxR
!4
xxxx
~
т.е. имеет четвертый порядок малости
Заметим, что выражение
UU
является оператором Лапласа
)(
yyxx
()
),
UUUU
+++=
yyyyyyyyxxxx
4
)(),(
hOyxR = .
71

ζξζξζξζ
=−−+−−++−
+
2
2
∂
U +=
=Δ
x
∂
U
U
∂
+
2
2
y
∂
UU
,
yyxx
поэтому из выражения (5) можно получить выражение
1
4
)(
hOU −++++−+=Δ
2
h
)),(4),(),(),((
yxUhyxUyhxUyhxU
,
которое называется первой основной конечно-разностной формой оператора Лапласа. Путем приравнивания этого выражения нулю и отбрасывания члена O(h
4
) можно получить соотношение (3).
Вторая схема. Рассмотрим дальние соседние точки около точки
A = (x, y). Это будут точки B = (x – h, y + h), C = (x + h, y + h),
D = (x + h, y – h), E = (x – h, y – h). Как и в первой схеме, воспользуемся выражением (3) для разложения функции в ряд Тейлора в точках B,
C, D, E:
2
h
)(),(),(
UUhyxUhyhxU
h
!3
h
!3
h
!3
UUUU
yyyxyyxxyxxx
UUUU
yyyxyyxxyxxx
UUUU
yyyxyyxxyxxx
UUhyxUhyhxU
h
!3
UUUU
yyyxyyxxyxxx
!2
43
⎛
∂
h
⎜
)33(
+−+−+
⎜
!4
∂
⎝
2
h
)(),(),(
UUhyxUhyhxU
)33(
UUhyxUhyhxU
)33(
)33(
!2
43
h
−+−−−−+
!4
2
h
)(),(),(
!2
43
h
−++−+−+
!4
2
h
)(),(),(
!2
43
∂
h
+++++
!4
∂
4
⎞
∂
⎟
−
U
⎟
∂
yx
⎠
∂
∂
∂
∂
∂
4
−
∂
yx
∂
4
+
∂
yx
∂
4
+
U
∂
yx
)2(
++−+−+=−+
UUU
yyxyxxyx
);,(
ζξ
11
)2(
+−++−−+=−−
UUU
yyxyxxyx
U
22
)2(
+−−++−+=+−
UUU
yyxyxxyx
);,()(
ζξ
U
33
)2(
++++++=++
UUU
yyxyxxyx
);,()(
ζξ
).,()(
ζξ
44
Здесь
ξ
некоторые промежуточные
),(),,(),,(),,(
44332211
точки. Сложив эти выражения, будем иметь
++
42
),(2),(4
hOUhyxU
+Δ+=
),(),(),(),(
hyhxUhyhxUhyhxUhyhxU
откуда можно получить вторую конечно-разностную форму оператора
Лапласа
72

(
)
∈
1
U
Отбрасывая остаточный член
),( hyhxUhyhxUhyhxUhyhxUyxU −−++−+−++++= (6)
2
2
h
4
).()),(4),(
hOyxUhyhxU
+−−−+
)(4hO , получаем уравнение вида
1
4
),(),(),((
hyhxUhyhxUhyhxU
+−+++−+++=Δ
)).,(),(),(),((
Таким образом, в результате применения двух различных схем
установлено, что любая внутренняя точка может быть вычислена как
среднеарифметическое своих дальних или ближних соседних точек
.
Соотношение (3) справедливо для каждой точки области G, поэтому
оно будет справедливо для любой внутренней точки (x
значение
),( =
и используя (3), получим систему уравнений
UyxU
jiji
,
1
4
+++=
UUUUU
1,1,,1,1,
−+−+
jijijijiji
, yj)∈Gc. Введя обо-
i
;
(7)
.),(
Gyx
cji
Дополним эту систему уравнениями для граничных точек:
yxU Γ∈ϕ=
,, cjijiji
.),(;
Полученная система линейных уравнений (7), (8) может быть решена любым из методов, приведенных в лекции 2, но поскольку эта
система имеет достаточно большую размерность (при сетке 10×10
имеем 100 уравнений) и очень разрежена (в каждом из уравнений участвуют не более пяти неизвестных), для решения таких систем рекомендуется использовать итерационные методы, а
алгоритм построить
так, чтобы не выполнять действий над нулевыми элементами матрицы
коэффициентов. Простейшим способом будет задание некоторого на-
чального приближения для внутренних точек
)0(
,
GyxU ∈),(,
и вы-
cjiji
числение следующего приближения методом простых итераций
1
)1(
k
+
ji
,
)(
k
4
)(
k
,1
,1
ji
)(
k
ji
ji
)(
k
.)(
UUUUU
+++=
1,
1,
−+−+
ji
При использовании итерационных методов необходимо задавать
начальное приближение для значений всех внутренних узлов. От близости этого приближения к истинному решению задачи зависит время
расчета. Для уменьшения этого времени используют подход, предложенный Либманом, и заключающийся в следующем.
Строится сетка с достаточно большим шагом и решается система
уравнений небольшой размерности.
В результате находится некоторое
грубое приближение к решению задачи в узлах сетки. Для получения
более точного решения шаг сетки уменьшается вдвое и решается система вчетверо большей размерности. Для сокращения времени расчета
73

≤
≤
τ
φ=φψ=ψϕ=ϕ
в качестве начального приближения для системы с мелкой сеткой используются значения, полученные в результате решения системы с
крупной сеткой, а в тех узлах мелкой сетки, которые не совпадают с
узлами крупной сетки, используется аппроксимация по уравнению (3)
или (6). Такой процесс деления шага сетки можно выполнить несколько раз, получая все более
точное решение поставленной задачи.
Уравнение теплопроводности (параболическое уравнение). Ти-
пичная задача, описывающая теплоперенос вдоль одномерного стерж-
10
x
ня единичной длинны
при заданном начальном распределе-
нии температуры ϕ(x) и заданных температурных режимах на концах
стержня ψ(t), φ(t), ставится следующим образом:
2
U
∂
t
∂
U
∂
2
a
−
=
2
x
∂
);,(
txf
t > 0, 0 ≤ x ≤ 1;
U(0, x) = ϕ(x); (1)
U(t, 0) = ψ(t); U(t, 1) = φ(t).
Эта модельная задача является смешанной, так как содержит начальные (при t = 0) и краевые условия (при x = 0 и x = 1). Она описы-
вает различные диссипативные процессы (типа
теплопроводности или
диффузии) в твердых телах, газах, плазме, в магнитной гидродинамике, в биологии и т.д.
Областью решения задачи (1) будет являться полуполоса t > 0,
2
ta
0 ≤ x ≤ 1. Путем замены переменных
=τ дифференциальное урав-
нение приводится к виду
∂
∂τ
поэтому избавимся от множителя
2
UU
∂
−
2
x
∂
xf
),,(
τ=
2
a
, считая его равным единице.
Тогда задача запишется в виде
2
U
U
∂
∂
−
2
t
∂
x
∂
),(
txf
=
0 ≤ t ≤ T, 0 ≤ x ≤ 1;
U(0, x) = ϕ(x); (2)
U(t, 0) = ψ(t); U(t, 1) = φ(t).
≤
Наложим на область 0
t ≤ T, 0 ≤ x ≤ 1 сетку, образованную пря-
мыми параллельными осям координат с шагом по x, равным h , и шагом по t, равным
, т.е. mjnijtihx
ji
,0,,0;; ==τ== , где n и m коли-
чество линий сетки. Введем обозначения
),,(),,(
,, jijijiji
txfftxUU== )(),(),(
ttx
и заме-
jjjiii
ним производную по длине центральным разностным отношением
74

τ
τ
++−σ+
=
2
∂
txU
≈
2
∂
x
+−
UUU
2),(
2
h
,1,,1
jijijiji +−
,
а производную по времени правым конечно-разностным отношением
∂
txU
),(
≈
∂
t
−
UU
+ jijiji
,1,
.
τ
Подставив эти выражения в дифференциальное уравнение, получим конечно-разностное уравнение, справедливое для всех внутренних
узлов сетки:
UUUUU
2_
−
−
τ
+
+−+
jijijijiji
,1,,1,1,
f
1,0;1,1 −=−= mjni . (3)
=
ji
2
h
,
Начальные и краевые условия дадут следующие уравнения:
1,1;
−=ϕ= niU
0,
ii
,,0
; (4)
(4)
.,0;;
mjUU
=φ=ψ=
jjnjj
Таким образом, задача (2) сводится к системе линейных уравнений (3) (4), решив которую, можно получить значения искомой функции в узлах сетки.
Конфигурация узлов, значения сеточной функции в которых определяют вид разностных уравнений, записываемых для внутренних точек
сетки, называется шаблоном разностной схемы. Для схемы (3) шаблон
1+j
связывает одну точку слоя (временного)
Введем обозначение
U
ji
,
и решим уравнение (3) относительно
=σ
2
h
с тремя точками слоя j.
,
fUUUUU
)1(
jijijijijiji
+−+
,,1,,1,1,
и пользуясь этим уравнением и значениями в начальных и граничных
точках, будем последовательно восстанавливать значения искомой
функции в узлах сетки от слоя к слою, поэтому схема (3) называется
явной.
Если заменить производную по времени левым конечно-разностным уравнением
∂
≈
t
∂
),(
txU
UU
−
−1,,
jijiji
,
τ
то получим неявную схему, связывающую три точки слоя j с одной
точкой предыдущего слоя j – 1:
−
−
τ
2
UUUUU
+−
,1,,11,,
jiJIjijiji
2
h
+−−
,
ji
;,1;1,1;
mjnif
=−==
75

F
≤
≤
<σ<
σ
;1,1;
0,
ii
−=ϕ= niU
jjnjjo
,,
=φ=ψ=
mjUU
,0;;
. (5)
Получаемая система линейных уравнений не эквивалентна системе с треугольной матрицей как при использовании явной схемы, так и
для ее решения используется специальный прием, позволяющий разделить систему на некоторое число систем меньшей размерности.
Рассмотрим точки первого слоя с номерами
скольку значения искомой функции на предыдущем слое
.1,,0 == jni По-
0=j
извест-
ны из начальных условий для каждой точки этого слоя, получим уравнение, связывающее три неизвестных, причем в крайних точках слоя
значения функции известны из граничных условий, т.е. получаем систему уравнений с трехдиагональной матрицей, решить которую можно
методом прогонки. Затем, используя это решение, можно найти значения функции
на следующем слое и т.д.
При решении задач с частными производными особенно актуальным
становится вопрос об устойчивости конечно-разностных схем. Пусть конечно-разностная схема с некоторым шагом h (скалярным или векторным) записывается в виде некоторого конечно-разностного оператора
)()( kk
,
k
)( h
U
где
– совокупность значений искомой функции в узлах сетки;
)(h
– совокупность значений правой части дифференциального урав-
FUL =
нения в узлах сетки.
Определение. Решение, полученное с помощью схемы
)()( hh
h
FUL =
называется устойчивым если для любого ε > 0 найдется ограничение
00>h
шага
, такое что решение возмущенной задачи с ограниченным
возмущением
)()()( hhh
h
fFZL δ+= ; ε≤δ ||||
)(h
f
будет не сильно отклоняться от решения исходной задачи
hhh
)()(()
ε≤δ≤− CfCZU
||||||||
при любых значениях шага
0 hh
и константе C, не зависящей от
0
шага h.
Устойчивость явной схемы (3) зависит от соотношения шагов h и
τ, при выполнении условия 5,00
противном случае, т.е. при 5,0>
эта схема будет устойчивой, в
явная схема перестает быть устой-
чивой. Неявная схема (5) устойчива при любом выборе шагов.
76

≤
≤
σ
≤
σ
τ+=
Уравнение колебаний (гиперболическое уравнение). Попереч-
ные колебания струны единичной длины, имеющей начальную форму
f(x), начальную скорость F(x) и подвергающуюся воздействию на концах ϕ(t), ψ(t), описываются следующей краевой задачей:
2
U
∂
2
t
∂
2
U
∂
2
a
=
2
x
∂
)0,(
xU
∂
);()0,(
xfxU
=
=
t
∂
ttUttU
ψ=ϕ=
;0;10;
tx
∞≤≤≤≤
);(
xF
).(),1();(),0(
Как и для параболического уравнения ограничимся рассмотрением решения в прямоугольной области
2
параметра
a
, считая его равным единице. Тогда задача примет вид
2
2
∂
∂
U
U
=
2
2
∂
∂
x
t
=
∂
xfxU
);()0,(
≤≤ 0;10 , и избавимся от
≤≤≤≤
xU
)0,(
=
∂
t
ψ=ϕ=
Ttx
Ttx
;0;10;
);(
xF
).(),1();(),0(
ttUttU
Наложим на область решения сетку с шагом по длине h и шагом
.,0;,0;; mjnijtihx
по времени τ
ji
==τ== Как и для эллипти-
ческого уравнения, заменим производные центральными разностными
отношениями и, введя обозначение h/τ=
, получим разностную
схему вида
2
1,,1, jijijijijiji
UUUUUU
+−σ+−
).2(2
,1,,1
−+−+
Эта схема является явной и если известны значения функции
на двух слоях j, j – 1, то можно вычислить значения в слое j + 1.
jiU,
Устойчивость этой схемы обеспечивается при
.1
Для нахождения значений функции в первых двух слоях (j = 0,
j = 1) будем использовать начальные условия. Из условия U(x, 0) = f(x)
получим уравнения:
)1,1( −= ni . Из второго начального ус-
,
fU =
0, ii
ловия путем замены производной
∂
U
∂
t
−
UU
≈
−1,,, jijiji
τ
при j = 1 получим уравнения:
,
1, ii
FfU
i
).1,1( −= ni
77

x
Далее это уравнение для организации вычислительного процессса
можно использовать для определения значений функции в крайних
точках воспользоваться уравнениями, полученными из краевых усло-
.,0,,
mjUU
=ψ=ϕ=
вий
,,0
jjnjj
Точность получаемого таким образом решения существенно зависит от точности определения значений функции в слое j = 1, для увеличения точности будем использовать разложение в ряд Тейлора
2
2
U
∂
UU
0,1,
ii
0,
τ+≈
+
t
∂
U
∂
τ
2
0,
ii
.
2
t
∂
Используя исходное дифференциальное уравнение, заменим вторую производную по времени производной по длине
2
∂
U
τ+≈
UU
ii
0,1,
∂
2
U
∂
τ
ii
0,
+
2
t
0,
,
2
∂
тогда, замечая, что
2
U
∂
i
fU
=
ii
0,
0,
;
=
t
∂
U
∂
i
0,
,
′′
F
i
∂
f
=
i
2
x
получим более точное значение для слоя j = 1
2
τ
′′
1, iiii
+τ+=
.
fFfU
2
Заметим, что если функция f имеет вторую производную, равную
нулю, то этот метод совпадает с первым.
Вопросы для самопроверки
1. Расскажите о способах перехода от дифференциального уравнения в частных производных эллиптического типа к разностному
аналогу.
2. Расскажите о двух разностных схемах, которые используются
при решении уравнения эллиптического типа.
3. Расскажите о явных и неявных схемах, которые используются
для решения уравнения параболического типа.
4. Дайте характеристику достоинствам и недостаткам явных и не
явных схем.
5. Дайте определение устойчивости решения, которое получается
с использованием разностных схем.
6. Какое соотношение должно выполняться, чтобы явная разностная схема была устойчивой?
7. Расскажите о разностных схемах, которые используются для
решения уравнения гиперболического типа.
78
-

Тема 11. МЕТОДЫ РЕШЕНИЯ ИНТЕГРАЛЬНЫХ
УРАВНЕНИЙ
Под интегральными уравнениями понимается уравнение, содержащее неизвестную функцию y(x) под знаком определенного интеграла. Рассмотрим наиболее часто встречающиеся уравнения:
b
)()(),( xfdssysxk
∫
a
b
=
∫
a
Уравнения (1) и (2) называются уравнениями Фредгольма соответственно первого и второго рода. Функция k(x, s) называется ядром
интегрального уравнения. Те значения λ, при которых уравнение (2)
имеет нетривиальные решения, называются собственными решениями
(собственными числами) ядра k (x, s), а отвечающие им ненулевые решения y(x) – собственными функциями.
Интегральное уравнение может
вой задачи.
Рассмотрим краевую задачу:
L[y] = p(x)y″(x) + p′(x)y′(x) + g(x)y(x) = f(x); (3)
p(x) > 0, x∈[a, b]; (4)
Г
[y] ≡ α0y(a) + α1y′(b) = 0;
a
Г
[y] ≡ β0y(b) + β1y′(b) = 0;
b
(|α
| + |α1| ≠ 0, |β0| + |β1| ≠ 0),
0
где p(x), p′(x), g(x) – непрерывные на [a, b] функции.
Определение. Функция G(x, s) называется функцией Грина задачи
(3), (4), если выполняются следующие условия:
1. G(x, s) – определена и непрерывна в области a ≤ x ≤ b; a ≤ s ≤ b.
2. L
[G(x, s)] = 0 при x ≠ s.
x
3. Г
[G(a, s)] = 0, Гb[G(b, s)] = 0.
a
(s + 0, s) – G( – 0, s)
4. G′
s
Если функция Грина найдена, то решение краевой задачи (3), (4)
дается формулой
5. Функция Грина симметрическая, если G(x, s) = G(s, x).
быть получено из линейной крае-
.
−=
)(1sp
b
−=
∫
a
, (1)
=λ+
)()(),()( xfdssysxkxy
. (2)
dssfsxGxy )(),()(
.
79

Метод последовательных приближений. Запишем уравнение
Фредгольма в виде
b
λ+=
∫
a
dssfsxkxfxy )(),()()(
. (5)
Пусть функции ядра k(x, s) и свободного члена f(x) непрерывны.
Будем искать решение в форме степенного ряда
ϕ
(x) = f(x);
0
b
=ϕ=ϕ
nn
∫
a
−
ndsxsxkx
1
(7)
...).,2,1(,)(),()(
Пусть функции k(x, s) и f(x) ограничены
|k(x, s)| ≤ M; |f(x)| ≤ N; x, s ∈ [a, b],
тогда из (7) получаем
(x)| ≤ MnN(b – a)n.
|ϕ
n
Сходимость (6) обеспечивается, если
1
||
<
.
)(
abMx−
Приняв
n
k
,)()()(
ϕλ=≈
xkxyxy
n
∑
k
0
=
получим решение (5) с погрешностью
1
+
n
λ−
abMN
=
E
n
|]|)([
.
(8)
λ−−
abM
||)(1
Из формулы (7) вытекает, что решение (6) можно представить в
виде
b
∞
−
1
n
Интегрированные ядра k
λλ+=
∑
=
1
n
(x, s) могут быть последовательно най-
n
n
∫
a
dssfsxkxfxy )(),()()(
. (9)
дены
b
==
1
−
∫
a
nn
ndtstktxksxk
....,3,2,),(),(),(
Функция
∞
1
−
n
80
∑
n
λ=λ
=
1
),(),,(
sxksxR
(10)
n
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
