Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы в информационных системах. Учебное пособие
.pdf
Пусть, как и в примере, приведенном в предыдущем разделе, решается большая, плохо обусловленная система n
≈ 1000, μА ≈ 10000.
Значение знаменателя в выражении (7) оценим с помощью числа
≈ 1/μ
обусловленности 1 – q
, тогда точность будет оцениваться выра-
А
жением
δ
0
≈
−
1
−
q
10
4
При стандартной точности вычислительной машины
можно получить точность порядка 10
5
10
Δ≈
.
0
–2
, в то время как метод Гаусса
Δ0 ≈ 10
–8
1000
Δ
при таких условиях приводит к полной потере точности.
Заметим, что если матрица системы сильно разрежена (т.е. число
нулевых элементов порядка n), как это довольно часто бывает на практике, то оценка неустранимой погрешности при использовании итерационных методов уменьшится еще на два порядка,
а оценка погрешно-
сти метода Гаусса никак не изменится.
Вопросы для самопроверки
1. Дайте характеристику прямым методам решения СЛАУ.
2. Расскажите о различных способах выбора главного элемента и
дайте им характеристику (выбор главного элемента по столбцам и по
всей матрице).
3. Расскажите о методе прогонки и ответьте, из каких частей он
состоит.
4. Приведите и дайте характеристику матричным нормам.
5. Что такое число обусловленности и
как оно влияет на процесс
решения СЛАУ.
6. Дайте характеристику итерационным методам решения СЛАУ.
7. Расскажите о достоинствах и недостатках итерационных мето-
дов решения СЛАУ.
21

Тема 3. ЧИСЛЕННОЕ РЕШЕНИЕ СИСТЕМ
Рассмотрим систему нелинейных уравнений вида
или в векторной записи
X – вектор неизвестных величин, а F – вектор-функция
где
НЕЛИНЕЙНЫХ УРАВНЕНИЙ
, x2,...xn) = 0, i = 1, 2,..n;
f
i(x1
F(X) = 0;
),...,(
x
⎤
⎡
1
⎥
⎢
x
2
⎥
⎢
,
=
X
⎥
⎢
M
⎥
⎢
x
n
⎦
⎣
⎡
⎢
⎢
=
)(
XF
⎢
⎢
⎣
xxxf
211
n
),...,(
xxxf
212
n
M
xxxf
),...,(
21
nn
⎤
⎥
⎥
. (1)
⎥
⎥
⎦
Будем считать, что система (1) имеет хотя бы одно решение и что
интересующее нас решение
*
X
принадлежит некоторой области U,
выявленной на стадии локализации решения.
Метод простых итераций. Приведем каждое из уравнений к виду
= ϕi(x1, x2, ..., xn), i = 1, 2, …, n;
x
i
или в векторной форме:
X = Φ(X);
с вектор-функцией
),...,(
xxx
⎤
211
n
⎥
),...,(
xxx
212
n
⎥
. (2)
M
⎥
⎥
),...,(
xxx
21
nn
⎦
Φ =
ϕ
⎡
⎢
ϕ
⎢
⎢
⎢
ϕ
⎣
Используя некоторое начальное приближение
(0)
(0)
(0)
X
= (x
, x
1
(0)
,...x
2
),
n
построим итерационный процесс
X
(k + 1)
= Φ(X
(k)
).
Условие сходимости этого процесса к решению системы (1) формулируются в следующей теореме.
Теорема. Пусть
(X*) = {||X – X*|| < r} вектор функция Φ(X) удовлетворяет усло-
U
r
вию Коши–Липшица, т.е. для любых
*
X
решение системы (1). Если в окрестности
X', X" ∈ U
(X*) имеет место
r
22

||Φ(X') – Φ(X")|| ≤ q⋅||X' – X"||
с постоянной q < 1, то последовательность
*
X
к решению
и имеет место оценка сходимости
X
||
(k)
– X*|| ≤ q
k
⋅||X
(0)
k
X
– X*||.
при X
(0)
∈U
(X*) сходится
r
Приведенное в теореме условие Коши–Липшица в большинстве
случаев достаточно сложно доказать, поэтому на практике в качестве
достаточного критерия сходимости используется другое условие, аналогичное условию |
Введем в рассмотрение матрицу Якоби от вектор-функции
ϕ'(x)| <1 в случае одного уравнения.
Φ
L
L
∂ϕ
∂
∂ϕ
∂
1
kkk
n
2
.
kkk
n
M
∂ϕ
∂ϕ
∂
∂ϕ
=
Φ
∂
1
1
∂
2
1
∂ϕ
2
2
∂
2
2
LLLL
∂ϕ
∂
∂ϕ
∂
21
L
∂ϕ
∂
nnn
kkk
n
Разность между компонентами искомого корня системы X* и
найденным приближенным значением, используя теорему о среднем,
для функции нескольких переменных можно записать в виде
(k)
*
x
– x
i
i
=
= ϕ(x
n
∑
1∗−=
j
∂ϕ
∂
(k – 1)
1
x
(k – 1)
, x
2
k
)1(
i
−
xx
i
i
j
(k – 1)
, ..., x
, i = 1, 2, …, n;
)(
) – ϕ(x
n
*
*
, ..., x
n
*
) =
, x
1
2
или в векторной форме:
(k)
X
– X* = MΦ(X
(k–1)
– X*).
Пусть M – мажорирующая матрица с элементами
∂ϕ
i
||max
,
xm∂
j
|| ≤ ||M||⋅||X
(k – 1) – X*
||,
*
. Таким об-
т.е. ||M
|| ≤ ||M||, тогда
Ф
и если ||M||
=
ji
,
U
X
||
(k) – X*
|| ≤ ||MФ||⋅||X
(k – 1) – X*
≤ q< 1, то итерационный процесс сходится к X
разом, для сходимости итераций достаточно, чтобы в какой-либо норме выполнялось условие ||M||
< 1.
23

Для увеличения скорости сходимости в методе простых итераций
применяют схему Зейделя, которая предусматривает использование
(k + 1)
X
найденных компонент вектора
при вычислении других компо-
нент этого вектора:
)1(
+
ϕ=
1
2
1
)1(
ϕ=
2
kkk
1
kkk
++
1
)()(2)(
k
);...,,,(
xxxx
n
)()(2)1(
k
);...,,,(
xxxx
n
(3)
M
)1(
k
ϕ=
n
n
kk
1
+++
)()1(2)1(
k
)....,,,(
xxxx
n
Метод Пикара. Пусть в уравнениях системы (1) можно выделить
линейную l(
X) и нелинейную g(X)части функций
(X) = li(X) + gi(X).
f
i
Тогда систему уравнений (1) можно записать в виде
(X) = – gi(X), i = 1, 2, 3, ..., n;
l
i
или в векторной форме:
AX = – G(X);
где
A – матрица коэффициентов линейных частей уравнений; G(X) –
вектор-функция нелинейных частей уравнений.
Выберем некоторый начальный вектор
(0)
X
и построим итераци-
онный процесс в виде
AX
(k + 1)
= –G(X
(k)
).
Для выполнения одной итерации таким методом необходимо решать систему линейных уравнений, у которой вектором свободных членов будут нелинейные части функций f
ца
A остается неизменной при всех итерациях, то для решения СЛАУ
(X). Причем поскольку матри-
i
можно использовать специальные алгоритмы, предусматривающие возможность преобразования только столбца свободных членов.
Метод Ньютона. Этот метод можно рассматривать как линеари-
зацию исходной задачи. Выберем в окрестности корня некоторое начальное приближение
0
X
∈Ur(X*) и линеаризуем уравнение (1) с помо-
щью ряда Тейлора, ограничившись только величинами первого порядка малости
0020
)...,,,(
xxxf
ni
x
j
0
0)(
=−
xx
jj
, i = 1, 2, ..., n.
24
n
∂
1
ni
∑
0020
),...,(
+
xxxf
1
1
=
j
∂

(
)
(
)
Обозначим решение этого уравнения X
(2)
X
. Итерационный процесс запишется в виде
−
)1(
k
n
∂
где
f
i
∑
∂
=
1
j
)(
k
i
i
1
k
kk
,...,
xxxff =
n
k
()
j
x
j
)(
k
f
∂
i
)()(2)(
,
=
x
∂
j
(1)
, используя X
−−
)1()1()(
k
j
∂
i
k
−=−
1
fxx
i
kk
,...,
x
∂
j
Введем в рассмотрение матрицу Якоби для вектор-функции
f
1
x
2
f
2
x
2
L
L
∂
∂
∂
∂
W
f
∂
∂
∂
=
∂
∂
1
x
∂
1
f
∂
2
x
∂
1
(1)
, получим
)()(2)(
k
xxxf
n
.
F(X):
f
1
x
n
f
2
.
x
n
LLLL
f
∂
∂
∂
x
∂
f
x
21
L
∂
∂
f
nnn
x
n
Систему (1) можно записать в виде
(k – 1)
W(X
решив это уравнение относительно X
(k)
X
= X
)⋅(X
(k – 1)
(k)
(k – 1)
– X
– W–1(X
) = F(X
(k)
, получим
(k – 1)
)⋅F(X
(k – 1)
(k – 1)
),
).
Как и для случая с одной переменной, метод Ньютона можно модифицировать так, чтобы вычислять Якобиан только в одной точке
(k)
= X
(k – 1)
X
– W
– 1(X(0)
)⋅F(X
(k – 1)
).
Скорость сходимости модифицированного метода Ньютона значительно ниже, чем метода Ньютона.
Метод релаксаций. Перепишем систему (1) в виде
X = X + τF(X),
где τ – некоторая константа, и построим итерационный процесс по
схеме
X
(k + 1)
= X
(k)
+ τ⋅F(X
(k)
).
Параметр τ должен быть таким, чтобы в окрестности решения
выполнялось достаточное условие сходимости
||Е + τW|| < 1,
где E – единичная матрица.
25

На практике выполнение этого условия достаточно сложно проверить, поэтому значение параметра τ выбирают пробным путем, проверяя выполнение необходимого условия сходимости после выполнения каждой итерации
(k)
||X
– X
(k – 1)
||<||X
(k – 1)
– X
(k – 2)
||.
Если окажется, что на какой-либо итерации это условие не выполняется, то необходимо изменить значение параметра τ.
Вопросы для самопроверки
1. Дайте характеристику методу простых итераций.
2. Дайте характеристику метода Пикара.
3. Дайте характеристику метода Ньютона.
4. Дайте характеристику метода релаксаций.
5. Проведите сравнительный анализ методов, рассмотренных при
изучении данной темы
.
26

Тема 4. ПРИБЛИЖЕНИЕ ФУНКЦИЙ
ИНТЕРПОЛЯЦИОННЫМИ ПОЛИНОМАМИ
Пусть функция f(x) задана для дискретного набора точек x
жеством своих значений f
ти приближенное значение f(x) при x ≠
таблице, т.е. когда |x
более точно для x ∈ [x
где f
= f(xi).
i
= f(xi), т.е. таблицей, и пусть требуется най-
i
. При достаточно подробной
xi
– x| мало и x ≈ xi, можно положить f(x) ≈ f(xi) или
i
, x
]
i
i + 1
ff
−
ii
1
+
fxf −
+≈
i
xx
−
ii
1
+
),()(
xx
i
Последнее выражение получено путем замены функции f(x) отрезком прямой, проходящей через точки (x
, fi), (x
i
i + 1
, f
).
i + 1
В общем случае будем заменять функцию f(x) полиномом степени n
P
(x) = a0 + a
n
совпадающим с функцией f(x) в n + 1 табличных точках x
⋅
x + a
1
⋅
x2 + ... + a
2
⋅
xn,
n
, называемых
i
узлами интерполяции
a
+ a
⋅
xi + a
0
1
⋅
x
2
2
+ ... + a
i
n
⋅
x
= f(xi), i = 0, 1, 2,...n. (1)
n
i
Система уравнений (1) может быть решена, если среди узлов x
нет совпадающих. Используя решение этой системы, интерполяционный полином можно записать в виде полинома Лагранжа
xxxxxx
−−−
fxP
=
)(
n
0
f
+
...
k
+
f
...
n
21
))...()((
n
+
...
xxxxxx
−−−
))...()((
02010
n
+−
110
−−−
+−
xxxxxx
))...()((
−
110
n
−−−
xxxxxx
))...()((
−
110
nnnn
xxxxxxxx
−−−−
))...()()...((
nkk
+
xxxxxxxx
−−−−
110
))...()()...((
nkkkkkk
.
Полином Лагранжа удобно использовать, если требуется находить приближения различных функций, заданных в одних и тех же
табличных точках. В таких случаях можно предварительно вычислить
коэффициенты Лагранжа
−−−−−
))...()()...()((
)(
n
=
)(
xL
i
1110
+−
+−
xxxxxxxxxx
nkk
−−−−−
1110
xxxxxxxxxx
n
=
∏
))...()()...()((
nikikiii
,0
а для вычисления значений функций использовать формулу
n
n
)(
=≈
∑
i
=
0
.
xLfxPxf
)()()(
iin
мно-
i
...
)(
−
xx
j
)(
−
xx
≠=
jii
ji
i
,
27

−++
+
+
Заметим, что значения коэффициентов Лагранжа инвариантны
относительно линейной подстановки, т.е. если x = at + b, x
)()(
j = 0, 1, 2,...n, то
n
i
n
).()(
tLxL
=
j
= atj + b,
i
Если узлы интерполяции равноотстоящие и упорядочены по величине, так что x
– xi = h = const, т.е. xi = x0 + ih, то интерполяцион-
i + 1
ный полином можно записать в форме Ньютона. Первая интерполяционная формула Ньютона имеет вид
)( y
n
q =
= ,
где
2
k
i
xx
−
0
h
+1
−
)1(
qq
+Δ+≈
yqyxP
00
)(
fy
, а выражения вида
ii
yyy−=Δ
– разность первого порядка;
iii
yyy Δ−Δ=Δ
– разность второго порядка;
iii
+1
k
1 −
−
k
Δ−Δ=Δ – разность k-го порядка.
i
+
1
2
y
!2
1
yyy
i
+Δ
!
n
k
– конечные разности:
yΔ
i
−−−−
)1)...(2)(1(
nqqqq
n
Δ
,
00
Вторая интерполяционная формула Ньютона записывается в виде
)1)...(2)(1(
nqqqq
n
,
y
Δ
02
где
)1(
qq
2
)(
=
q
yqyxP
+Δ+=
1
!2
−
xx
n
.
h
...
y
++Δ
−−
nnnn
!
n
Интерполяционные полиномы в форме Ньютона удобно использовать, если точка интерполирования находится вблизи начала (первая
формула Ньютона) или конца таблицы (вторая формула Ньютона). Эти
полиномы интересны тем, что каждая частичная сумма первых m слагаемых есть интерполяционный полином m – 1 степени, построенный
по m первым (для первой формулы) или последним (для
второй формулы) табличным точкам. Поэтому интерполяционные полиномы
Ньютона удобно использовать при последовательном увеличении степени интерполяционного многочлена. Пусть, например, для вычисления значения f(x) некоторой точке x вычислен полином P
точкам x
еще один узел x
, x1,..., xn, а затем для уточнения этого значения привлечен
0
, тогда для вычисления P
n + 1
(x) по n + 2 узлам с по-
n + 1
(x) по n + 1
n
мощью формулы Лагранжа нужно заново пересчитывать все слагаемые, а в первой формуле Ньютона требуется вычислить только одно
слагаемое
)2)(1)...(2)(1(
nqnqqqq
−−−−−−
)!1(
n
+
1
n +
,
y
Δ
0
по величине которого можно, кстати, определить и целесообразность
дальнейшего увеличения степени интерполяции.
28

Если точка интерполирования x лежит вблизи какого-либо внутреннего узла, то обозначая этот узел x
тельными индексами x
= x0 – h, x–2 = x0 – 2h и т.д. можно записать
–1
, а узлы слева от него отрица-
0
интерполяционный полином в виде первой формулы Гаусса (для
x > x
)
0
)1(
−
qq
2
y
!2
222
)!2(
n
где q = (x – x
n
)/h;
0
)(
+Δ+=
yqyxP
00
+
или в виде второй формулы Гаусса (для x < x
)1(
qq
+
)(
n
yqyxP
+Δ+=
10
+
2
y
!2
222
)!2(
n
При интерполировании вблизи середины таблицы, т.е. при x ≈ x
2
)1(
−
qq
+Δ
1
))()1()...(1(
nqnqqq
−−−−
qq
+Δ
1
))()1()...(1(
nqnqqq
+−−−
3
+Δ
y
2
!3
2
Δ
2
!3
2
Δ
−−
n
,
y
n
−
)
0
)1(
−
3
y
+Δ
−−−
2
n
.
y
−
n
0
используется интерполяционная формула Ньютона–Бесселя:
2
yy
+
)(
xP
=
n
10
2
+
n
−
)5,0(
!3
)1)...(1(
nqnq
+−−+
⋅
qq
yq
+Δ−+
0
)1()5,0(
qqq
−−
3
22
n
−
2
)1(
−
⋅
y
+Δ
1
−
n
Δ+ΧΔ
1
n
−
2)!22(
yy
Δ+Δ
0
1
−
2!2
+
22
−
yy
2
n
−
.
Если точка интерполирования x совпадает с серединой отрезка
, x1] (интерполирование на середину), то формула Ньютона–Бесселя
[x
0
значительно упрощается
2
2
+
)
(
xP
=+
0
2
10
+
Δ+Δ
0
162
3
yyyyh
1
−
4
16
4
1
...)(
+Δ+Δ+
yy
−−
.
2
Ошибка приближения функции интерполяционным полиномом –
это разность R
(x) = f(x) – Pn(x). Используя теорему Ролля, можно по-
n
лучить следующие выражения для погрешности интерполяции.
Для формулы Лагранжа:
+
)1(nn
f
)(
xR −−−
=
n
)(
ξ
)!1(
N
+
10
;
))...()((
xxxxxx
для первой формулы Ньютона:
))...(2)(1(
−−−
nqqqq
)1(1
++ nn
)(
=
hxR ;
n
)!1(
+
n
)(
ξ
f
29

+
+
для второй формулы Ньютона:
)(
=
hxR
n
для первой формулы Гаусса:
)(
n
12
=
hxR
для формулы Ньютона–Бесселя:
=
)(
hxR ,
n
))...(2)(1(
+
nqqqq
)1(1
++ nn
)(
ξ
)!1(
+
n
)!12(
+
n
)!2(
n
f
2222
))...(1(
−−
nqqq
−−+
))...(1(
nqnq
f
;
)12(
++ nn
;
)(
f
ξ
)2(2
nn
)(
ξ
где ξ – некоторая точка интервала [x
Конкретная величина погрешности R
, xn] или [x–n, xn].
0
(x) зависит от x и от поло-
n
жения точки ξ, но для оценки погрешности для формул Лагранжа и
Ньютона справедливо соотношение
+
)1(
n
f
],[
xx
0
|)(|
xR
≤
n
n
n
+
|)(|max
ξξ
|,|...||||
xxxxxx
−−⋅−
)!1(
10
n
а для формул Гаусса и Бесселя соотношение
n
)12(
+
f
],[
xx
xR −⋅−−⋅−
|)(|
n
10
≤
n
+
|)(|max
ξξ
.||||...||||
xxxxxxxx
11
)!12(
−+−−
nnnn
Заметим, что за пределами отрезка интерполирования, когда
, xn] (или x∉[x-n, xn] для формул Гаусса и Бесселя) т.е. при экстра-
x∉[x
0
поляции, оценка погрешности сильно возрастает.
Заметим также, что для некоторых функций f(x), определенных на
отрезке x∈[a, b], интерполяционный многочлен P
значениям f(x
) в равноотстоящих узлах xi = a + ih, x0 = a, xn = b,
i
(x), построенный по
n
h = (b – a)/n с ростом числа узлов n вовсе не будет иметь убывающую
погрешность интерполирования. Например, для функции
22
)5,0/(1)(
+= xxf на участке [–1, 1] погрешность интерполяции при
равноотстоящих узлах не стремится к нулю при увеличении n. Это
обусловлено тем, что равноотстоящие узлы не являются лучшими с
точки зрения уменьшения погрешности интерполирования. Если имеется возможности выбора узлов интерполирования, то их следует выбирать так, чтобы обеспечить минимум погрешности интерполяции
min|R
(x)|. Такому требованию на отрезке [–1, 1] удовлетворяют узлы
n
полиномов Чебышева
1
)(
n
1
+
n
2
+=
),arccos)1cos((
xnxT
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
