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

П16

.pdf
Скачиваний:
15
Добавлен:
09.04.2015
Размер:
194 Кб
Скачать
☆

МЕТОД ПРОГОНКИ

-c

b 0

 

0 a

СЛАУ ИМЕЕТ ВИД:

− c x + b x

 

= f

 

 

1 1

1

2

 

1

ai xi −1 − ci xi

+ bi xi +1 = fi , i = 2,..., n −1

 

 

− cn xn

= fn

an xn −1

РЕШЕНИЕ ОТЫСКИВАЕТСЯ В ВИДЕ:

xi = αi +1 xi +1 + βi +1 , i = 1,2,...n −1

αi, βi –ПРОГОНОЧНЫЕ КОЭФФИЦИЕНТЫ

МЕТОД ПРОГОНКИ

2 ЭТАПА

•ПРЯМОЙ: ИЩЕМ ПРОГОНОЧНЫЕ КОЭФФИЦИЕНТЫ

•ОБРАТНЫЙ: ИЩЕМ РЕШЕНИЕ

ПРЯМОЙ ЭТАП (ИЩЕМ ПРОГОНОЧНЫЕ КОЭФ-ТЫ)

ИЗ ПЕРВОГО УР-ИЯ:

 

− c1 x1 + b1 x2 = f1

x =

b1

x

 

−

f1

 

 

2

 

 

1

c1

 

 

c1

 

 

 

 

СРАВНИМ С ФОРМУЛОЙ: x1 = α 2 x2 + β2

α

 

=

b1

,

β

 

= −

f1

2

c1

2

c1

 

 

 

 

 

 

 

 

 

 

 

 

МЕТОД ПРОГОНКИ

ПОДСТАВИМ ПРОГОНОЧНОЕ СООТНОШЕНИЕ:

xi −1 = αi xi + βi , i = 2,3,...n

В СИСТЕМУ:

ai xi −1 − ci xi + bi xi +1 = fi , i = 2,..., n −1

ai (α i xi + βi )− ci xi + bi xi +1 = fi (aiα i − ci )xi + ai βi + bi xi +1 = fi

ВЫРАЗИМ ИЗ ЭТОГО УРАВНЕНИЯ xi :

МЕТОД ПРОГОНКИ

xi

=

 

bi

 

xi +1

−

 

fi

− ai βi

 

ci − aiαi

 

ci − aiαi

 

 

 

 

 

 

Сравним с формулой:

 

 

xi

= αi +1 xi +1 + βi +1 ,

 

i = 2,3,...n −1

αi +1 =

 

bi

,

βi +1

= −

fi − ai βi

 

ci − aiαi

ci − aiαi

 

 

 

 

 

 

 

 

ПО ЭТИМ ФОРМУЛАМ ВЫЧИСЛЯЮТ ВСЕ ПРОГОНОЧНЫЕ КОЭФФИЦИЕНТЫ

αi , β i , i = 2,..., n

МЕТОД ПРОГОНКИ

ОБРАТНЫЙ ЭТАП: НАХОДИМ РЕШЕНИЕ

ПОСЛЕДНЕЕ УРАВНЕНИЕ: an xn−1 − cn xn = fn

ПРОГОНОЧНОЕ СООТНОШЕНИЕ: xn−1 = α n xn + βn

НАХОДИМ xn:

an (αn xn + β n ) − cn xn = fn

xn

= −

fn − an β n

 

cn − anαn

 

 

ОСТАЛЬНЫЕ НЕИЗВЕСТНЫЕ НАХОДИМ ИЗ ПРОГОНОЧНОГО СООТНОШЕНИЯ:

xi −1 = αi xi + βi , i = n, n − 1,...,2

МЕТОД ПРОГОНКИ

ПРЯМОЙ ЭТАП: НАХОДИМ КОЭФФИЦИЕНТЫ

 

 

 

α

 

=

b1

 

,

β

 

= −

f1

 

 

 

 

2

c1

2

c1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

α

 

=

 

 

bi

 

,

 

β

 

 

= −

fi − ai β i

, i = 2,3,..., n − 1

i +1

 

 

 

 

 

 

i +1

 

 

 

ci

− aiαi

 

 

 

 

ci − aiαi

 

 

 

 

 

 

 

 

 

ОБРАТНЫЙ ЭТАП: НАХОДИМ РЕШЕНИЕ

xn

= −

f n − an βn

 

cn − anα n

 

 

xi −1 = αi xi

+ βi , i = n, n −1,...,2

МЕТОД ПРОГОНКИ

ПРЯМОЙ ЭТАП: НАХОДИМ КОЭФФИЦИЕНТЫ

 

 

 

α =

BB0

=

 

k2

 

, β = −

FF0

= −

Aτ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

CC0

k2 − k1τ

 

1

 

CC0

( k2 − k1τ )

 

 

 

 

 

 

 

 

 

 

α

 

=

 

 

BBi

 

, β

 

 

=

AAi βi − FFi

,

i = 1,2,...,M − 1

i +1

 

 

 

 

 

 

 

i +1

 

 

 

 

CCi − αi AAi

 

CCi − αi AAi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОБРАТНЫЙ ЭТАП: НАХОДИМ РЕШЕНИЕ

 

 

y

 

=

AAM βM − FFM

 

=

l2 β M + Bτ

 

 

 

M

 

 

l2 + τ l1 − l2αM

 

 

 

 

 

 

CCM

− AAM αM

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

yi −1 = αi yi + βi ,

 

i = M ,M − 1,...1

ЛАБОРАТОРНАЯ РАБОТА:

1. Решить тестовую задачу

y′′ + tg(t) y′ + cos2 (t ) y = 0, t [0,1], y(0) = 1, y(1) = 10,

Точное решение :

u(t) = cos(sin(t)) + C1 sin(sin(t)), C1=(10 - cos(sin(1)))/sin(sin(1)).

Сравнить приближенные решения, полученные на различных сетках, с точным. решением.

Найти максимальную погрешность при каждом M. Приготовить для отчета Таблицу:

M

Max погрешность |u(ti) – yi|

 

 

На основании анализа погрешности сделать

вывод о порядке точности метода

18

 

Алгоритм решения

•Входными данными в ПФ служат начало и конец отрезка и число шагов (a,b,M)

•Найти шаг сетки и сформировать в цикле массив аргумента (X – массив из M+1 элементов)

•Сформировать массивы AA, BB, CC и FF на основе

коэффициентов ОДУ

•Найти первые прогоночные коэффициенты (alpha0 и beta0)

•В цикле вычислить остальные прогоночные коэффициенты по формулам прогонки

•Найти значение искомой функции в последней точке yM

•В цикле найти все остальные значения функции

•В качестве выходных параметров передать массив аргумента и функции

ЛАБОРАТОРНАЯ РАБОТА:

t0 := 0

tk := 1

y0 := 1

yk := 10

p(t) := tan (t)

q(t) := cos (t)2

r(t) := 0

C1 :=

10 − cos (sin(1))

= 12.518

 

 

 

 

sin(sin(

1))

 

 

yt (t) := cos (sin

(t)) + C1 sin(sin(t))

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]