СЛАУ специального вида
.pdfТрехдиагональные системы. Метод Прогонки
Алгоритм
3 |
Подставим xk 1 в k-ое уравнение системы (1) |
|||||||||||
|
Ak ( k 1xk + k 1) Ck xk + Bk xk+1 = Fk |
|||||||||||
4 |
Разрешаем уравнение (8) относительно xk |
|||||||||||
|
|
|
xk = k xk+1 + k |
|||||||||
|
где |
|
Bk |
|
Ak k 1 Fk |
|
|
|
|
|||
|
k = |
|
; k = |
|
||||||||
|
|
Ck Ak k 1 |
||||||||||
|
|
|
|
Ck Ak k 1 |
||||||||
5 |
Подставим (9) для k = n 1 в (3) : |
|
|
|
|
|
|
|
|
|||
|
|
xn = n( n 1xn + n 1) + n |
||||||||||
6 |
xn ! (9) ! xn 1 ! xn 2 : : : ! x1 |
|
|
|
|
|
|
|
|
(8)
(9)
(10)
(11)
Кафедра ТМ (СГАУ) |
СЛАУ специального вида |
17 марта 2012 г. |
8 / 32 |
Трехдиагональные системы. Метод Прогонки
Алгоритм
3 |
Подставим xk 1 в k-ое уравнение системы (1) |
|||||||||||
|
Ak ( k 1xk + k 1) Ck xk + Bk xk+1 = Fk |
|||||||||||
4 |
Разрешаем уравнение (8) относительно xk |
|||||||||||
|
|
|
xk = k xk+1 + k |
|||||||||
|
где |
|
Bk |
|
Ak k 1 Fk |
|
|
|
|
|||
|
k = |
|
; k = |
|
||||||||
|
|
Ck Ak k 1 |
||||||||||
|
|
|
|
Ck Ak k 1 |
||||||||
5 |
Подставим (9) для k = n 1 в (3) : |
|
|
|
|
|
|
|
|
|||
|
|
xn = n( n 1xn + n 1) + n |
||||||||||
6 |
xn ! (9) ! xn 1 ! xn 2 : : : ! x1 |
|
|
|
|
|
|
|
|
(8)
(9)
(10)
(11)
Кафедра ТМ (СГАУ) |
СЛАУ специального вида |
17 марта 2012 г. |
8 / 32 |
Трехдиагональные системы. Метод Прогонки
Алгоритм
Прогоночные формулы
Прямой ход прогонки |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
! |
= |
Bk |
|
; |
= |
Ak k 1 Fk |
; |
k |
= |
1 |
; : : : |
n 1 |
|
Ck Ak k 1 |
||||||||||||||
0 0 |
k |
|
|
k |
Ck Ak k 1 |
|
|
|
xn = n + n n 1
1 n n 1
Обратный ход прогонки
xk = k xk+1 + k ; k = n 1; n 2; : : : 0
Количество арифметических операций с плафающей точкой (флопов), необходимых для решения СЛАУ методом прогонки пропорционален размеру матрицы 2n
Кафедра ТМ (СГАУ) |
СЛАУ специального вида |
17 марта 2012 г. |
9 / 32 |
Трехдиагональные системы. Метод Прогонки
Алгоритм
Прогоночные формулы
Прямой ход прогонки |
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; |
! |
= |
Bk |
|
; |
= |
Ak k 1 Fk |
; |
k |
= |
1 |
; : : : |
n 1 |
|
Ck Ak k 1 |
||||||||||||||
0 0 |
k |
|
|
k |
Ck Ak k 1 |
|
|
|
xn = n + n n 1
1 n n 1
Обратный ход прогонки
xk = k xk+1 + k ; k = n 1; n 2; : : : 0
Количество арифметических операций с плафающей точкой (флопов), необходимых для решения СЛАУ методом прогонки пропорционален размеру матрицы 2n
Кафедра ТМ (СГАУ) |
СЛАУ специального вида |
17 марта 2012 г. |
9 / 32 |
Трехдиагональные системы. Метод Прогонки
Трехдиагональные системы
Условие существования решения
Определение 4.
Прогонка называется корректной, если знаменатели в прогоночных формулах не обращаются в нуль.
Определение 5.
Прогонка называется устойчивой, если j i j < 1 для всех i = 0; 1; : : : n
Кафедра ТМ (СГАУ) |
СЛАУ специального вида |
17 марта 2012 г. |
10 / 32 |
Трехдиагональные системы. Метод Прогонки
Трехдиагональные системы
Условие существования решения
Theorem
Прогонка устойчива и корректна если [2]
jCj j jAj j + jBj j jAj j 0; j 0j < 1; j nj 1
Доказательство. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Пусть для некоторого j, j j 1j < 1. Рассмотрим выражение Cj |
j 1Aj . |
|
||||||||||||||||||||||||||||
|
|
|
jCj j 1Aj j jCj j j j 1jjAj j > jCj j jAj j 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
Поэтому |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= |
|
jBj j |
jCj j jAj j |
< |
1 |
; |
jCj |
|
|
|
|
|
= |
|
|
|
; |
|
|
|
|
|
|
|
|||||
|
jCj j 1Aj j |
jCj j j j 1jjAj j |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
j j j |
|
|
|
|
|
|
j 1Aj j 6 0 |
|
|
|
|
|
|
|
|
|||||||||||||||
j1 n n 1j 1 j njj n 1j > 0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Кафедра ТМ |
(СГАУ) |
|
СЛАУ специального вида |
|
|
|
|
|
|
|
17 марта 2012 г. 11 / 32 |
Трехдиагональные системы. Метод Прогонки
Задание 5.1
Решить задачу глобальной сплайн-интерполяции. На плоскости задана серия точек: (x0; y0); : : : ; (xn; yn); xi 6= xj для i 6= j: Необходимо провести через эти точки кубический сплайн, плавно соединив заданные точки без разрывов значений функции, а также первой и второй производных.
Кафедра ТМ (СГАУ) |
СЛАУ специального вида |
17 марта 2012 г. |
12 / 32 |
Трехдиагональные системы. Метод Прогонки
Задание 5.1
Условия непрерывности:
S(xi ) = yi - условие интерполяции (сплайн проходит через заданные точки);
S(xi 0) = S(xi + 0) - непрерывность;
S0(xi 0) = S0(xi + 0) - непрерывность первой производной;
S00(xi 0) = S00(xi + 0) - непрерывность второй производной;
Всего, для n интервалов 4n 2 условий. Каждый кубический сплайн Sk (x) имеет 4 неизвестных коэффициента (4n для всех интервалов). Недостающие два условия можно определить задав значение первой или второй производной на концах заданного интервала интерполяции: в точках x0, xn.
Кафедра ТМ (СГАУ) |
СЛАУ специального вида |
17 марта 2012 г. |
13 / 32 |
Трехдиагональные системы. Метод Прогонки
Задание 5.1
Указанные выше условия приводят к необходимости решения следующей СЛАУ с трехдиагональной матрицей относительно неизвестных
qi ; i = 1; n 1:
|
hi |
+ |
|
hi + hi+1 |
+ |
|
hi+1 |
= |
yi+1 yi |
|
yi yi 1 |
; |
|
= |
|
; |
|
; |
|
qi 1 6 |
qi |
3 |
qi+1 6 |
hi+1 |
|
i |
1 |
n 1 |
|||||||||||
|
|
|
hi |
|
|
|
с дополнительными условиями на границах интервала интерполяции:
q0 = qn = 0
После того неизвестные величины найдены, сплайн 3 степени для каждого интервала [xi 1; xi ] записывается следующим образом:
( |
x |
) = |
qi 1 |
|
(xi x)3 |
+ |
(x xi 1)3 |
+ |
|
yi 1 |
|
|
hi |
( |
xi x |
)+ |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||
|
qi 1 6 |
|
|
|
|
||||||||||||||||||||||||||||
S |
|
|
6hi |
qi 6hi |
hi |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
+ |
hii |
qi 6i |
(x xi 1) |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
|
h |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
Кафедра ТМ |
(СГАУ) |
|
СЛАУ специального вида |
|
|
|
|
|
17 марта 2012 г. 14 / 32 |
Трехдиагональные системы. Метод Прогонки
Задание 5.1
Необходимо реализовать следующий алгоритм работы программы:
загрузить из файла таблицу с узлам интерполяции: пары (xi ; yi ) в каждой строке, разделенные пробелами;
сформировать трехдиагональную матрицу коэффициентов уравнения;
решить систему линейных уравнений, построить сплайны;
вывести в файл пары (xj ; yj ) так, чтобы между узлами интерполяции было не менее 5 дополнительных точек.
Построить график полученной кусочной функции и показать на графике точки исходной таблицы xi ; yi .
Кафедра ТМ (СГАУ) |
СЛАУ специального вида |
17 марта 2012 г. |
15 / 32 |