Метод прогонки
Реферат, 23 Февраля 2011, автор: пользователь скрыл имя
Описание работы
Прогонкой называется модификация метода Гаусса для решения систем линейных алгебраических уравнений с трехдиагональной матрицей. Если матрица системы обладает определенными свойствами, то метод прогонки является численно устойчивым и очень эффективным методом, который позволяет практически мгновенно решать одномерные краевые задачи, одну из которых мы рассмотрели в предыдущем разделе. Большинство корректно поставленных физических задач приводит к системе уравнений с хорошей матрицей, и в этих случаях метод прогонки проявляет слабую чувствительность как к погрешностям задания начальных условий, так и к погрешностям вычислительного характера.
Содержание работы
Введение………………………………………………………………………..3
1.Суть метода прогонки…………………………………………………..4
2.Теоретическая часть.................................................................................5
3.Виды прогонки…………………………………………………………..7
4.Теорема о корректности и устойчивости прогонки…………………..10
5.Решение системы методом прогонки. Код, реализующий метод прогонки…………………………………………………………………..12
6.Трёхдиагональная матрица (матрица Якоби)…………………………15
Заключение……………………………………………………………………..19
Список литературы…………………………………………………………….20
Файлы: 4 файла
progonkaРЕФЕРАТ.doc
— 250.50 Кб (Просмотреть файл, Скачать файл)~$ogonkaРЕФЕРАТ.doc
— 162 байт (Просмотреть файл, Скачать файл)Метод прогонки.ppt
— 61.50 Кб (Скачать файл)Метод прогонки
Выполнила: ст.гр. ПИ-08
Цыренжапова Евгения
- Прогонкой
называется модификация метода
Гаусса для решения систем
линейных алгебраических
уравнений с трехдиагональной матрицей
- Суть метода
прогонки заключается в том, что,
используя специфику структуры
матрицы системы уравнений (наличие
трех диагоналей), удается получить
рекуррентные формулы для
вычисления последовательности коэффициентов прогонки, которые позволяют на обратном ходу вычислить значения функции в узлах сетки.
Виды прогонки
- Прямая
- Обратная
- Корректная
- Устойчивая
Код, реализующий
метод прогонки
- void sweep(double a[N][N],double b[N])
- {
- int i;
- double znam;
- b[0]/=a[0][0];//Q1
- a[0][1]/=-a[0][0];//P1
- for(i=1;i < N-1;i++)
- {
- znam=-a[i][i]-a[i][i-1]*a[i-1]
[i]; //общий знаменатель для формул нахождения Pi, Qi - a[i][i+1]/=znam; //Pi
- b[i]=(a[i][i-1]*b[i-1]-b[i])/
znam; //Qi - }
- //строка ниже для вычисления QN
- b[N-1]=(a[N-1][N-2]*b[N-2]-b[
N-1])/(-a[N-1][N-1]-a[N-1][N- 2]*a[N-2][N-1]); - //обратный ход
- for(i=N-2;i > -1;i--)
- {
- b[i]+=b[i+1]*a[i][i+1];
- }
- return;
- }
Решение
СЛАУ методом прогонки
- Для решения
систем вида
или
(1)
используется
метод прогонки, основанный на предположении,
что искомые неизвестные связаны рекуррентным
соотношением:
где
- Используя это соотношение, выразим xi-1 и xi через xi+1 и подставим в уравнение (1):
- где Fi — правая часть i-го уравнения. Это соотношение будет выполняться независимо от решения,
- Отсюда следует:
- Из первого уравнения получим:
- После нахождения прогоночных коэффициентов α и β, используя уравнение (2), получим решение системы.