Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

СЛАУ специального вида

.pdf
Скачиваний:
21
Добавлен:
16.03.2015
Размер:
617.59 Кб
Скачать

Трехдиагональные системы. Метод Прогонки

Алгоритм

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