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

Численные методы. Учебное пособие

.pdf
Скачиваний:
3
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
и завершаются корректно (программа не входит в бесконечный цикл).
f
f
Сравнить значения, вычисленные с этой точностью, с полученными в пп. 1 и 2. Проделать то же самое для положительного корня уравне-
ния
xx xv 
, где v – номер варианта. Объяснить
2
100 )0000 (1
полученные результаты.
Отчет должен содержать:
графики функции ()
x и ее производных в масштабе, достаточ-
ном для обоснования начальных приближений корней; результат вычисления корней в сторонних программных пакетах;
тексты разработанных программ;
результаты вычислений, полученные с помощью разработанных
программ;
объяснение полученных результатов.
21
x
2. РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
Рассмотрим систему линейных алгебраических уравнений относи-
тельно n неизвестных
, , ...,
xx:
12
n
ax ax ax b
 
 

11 1 12 2 1 1

ax ax ax b
21 1 22 2 2 2
 

ax a x a x b
11 2 2
nn nnnn
... ,
nn
... ,
nn
...
... ,
(2.1)
или в матричной форме
A x = b. (2.2)
Все способы решения систем линейных уравнений делятся на две
группы:
точные (или прямые) методы и итерационные методы. Пер-
вые представляют собой алгоритмы с конечным числом шагов, в ре­зультате которых решение будет найдено; вторые позволяют получить приближенное решение системы с заданной точностью. Вследствие неизбежных округлений результаты точных методов, полученные с помощью ЭВМ, тоже являются приближенными.
Можно выделить группу специальных методов, разработанных для
ограниченного класса задач, которые
используют некоторые заранее известные особенности системы (2.2). Ярким примером является метод прогонки для решения систем с трехдиагональной матрицей. Некото­рые методы разработаны для более эффективного решения систем с симметричной или разряженной матрицей.
22
2.1. Метод Гаусса
x
Метод Гаусса (или метод гауссовых исключений) состоит в том, что систему (2.1) вначале приводят последовательным исключением неизвестных к эквивалентной форме с треугольной матрицей (этот этап называют
прямым ходом):
xx x
  
11 1 12 2 1 1
nn
,
 
 
 
xx
22 2 2 2
nn
,
 
после чего вычисляют
x
n
формулам (этот этап называют

1
xxinn
 
iiijj
 
ii

n
ji

1
x
nn n n
n
и находят решение по рекуррентным
nn
обратным ходом):
( 1, 2, ..., 1)

,
.
Алгоритм обратного хода очевиден, а реализация прямого хода может допускать вариации. Простейший способ состоит в следующем. В первом столбце произвольно выбирается ненулевой элемент, а затем строка, содержащая выбранный элемент, переставляется на место пер­вой. Чтобы в остальных строках коэффициенты при
нулю, к этим строкам прибавляют первую, умноженную на
равнялись
1
a
m
a
11
1
2, ...,mn . В результате в первом столбце все коэффициенты под
главной диагональю становятся нулевыми. Аналогичные действия по­следовательно выполняются для столбцов с номерами от 2 до n – 1. При условии, что все
ненулевые, алгоритм можно записать следу-
ii
ющим образом:
(0) (0)
ij ij j j
, 
ab, 1, ...,in
; 1, ...,jn
;
,
23
(1)
x
k
() ( 1) ( 1)
kk k
 
ml ml kl
mk
(1)
k
kk
() ( 1)
kk
 
,
mm
(1)
k
mk
(1)
k
kk
(1)
k
k
,
1, ..., 1kn
; 1, ...,mk n
Такую версию алгоритма называют
ния
. Элементы
(1)k
называют главными (ведущими) элементами
kk
; , ...,lk n.
схемой единственного деле-
k-го шага.
Если какой-либо ведущий элемент не равен нулю, но близок к нему, то в процессе вычислений могут возникать большие погрешно­сти, которые будут накапливаться и могут существенно повлиять на результат. Для предотвращения такой ситуации разработаны модифи­кации стандартного метода Гаусса – схемы
мента
, которые обеспечивают численную устойчивость процедуры
с выбором главного эле-
решения.
выборе главного элемента по столбцу в качестве ведущего
При
(1)k
элемента выбирают максимальный по модулю коэффициент неизвестной
в уравнениях с номерами ,...,ik n. Затем уравнение,
k
при
ik
соответствующее выбранному коэффициенту с номером i, меняют ме­стами с k-м уравнением системы для того, чтобы главный элемент за-
(1)k
нял место коэффициента
.
kk
Можно предложить похожий способ с выбором главного элемента по строкам. В этом случае изменится порядок исключения неизвест­ных: будет меняться положение столбцов. Описанные модификации называют обеспечения устойчивости является
ведущего элемента по всей матрице. Для замены
максимальный элемент из
схемами с частичным выбором. Наилучшим в смысле
схема полного выбора – поиск
(1)k
будет выбран
kk
(1)k
, , ...,ik n; , ...,jk n.
ij
Вычислительная сложность метода Гаусса определяется прямым
3
)(n
ходом и составляет
операций. Процедура выбора главного эле-
мента по всей матрице имеет такую же асимптотическую оценку. Об­ратный ход и частичный выбор главного элемента требуют порядка
2
)(n
действий.
24
2.2. Метод прогонки



Адаптацию метода Гаусса для решения систем с трехдиагональной матрицей называют методом прогонки. Пусть матрица уравнений (2.2) имеет вид
A системы
de
11
cde
222
A .
... ... ... ... ... ...
0...0
0...0 0
00 ... 0
0...0
cde
nnn

111
cd
nn
Прямой ход метода приведет систему к следующему виду:
de b

11 1

0 0 ... 0
dc e bc
 
    

2222 222
... ... ... ... ... ... ...
0 ... 0 0
0 ... 0 0 0
0 0 ... 0
dc e bc
nnn n nnn
111 1 111

  
dc bc
 
nnn nnn
,
где
e
1
 ,
2
d
1
b
1
,
2
d
1

1
i
1
i
bc
iii

dc
iii
e
i

dc
iii
, 2, ..., 1
in
, 2, ..., 1

in
,
.
Обратный ход позволит найти решение по следующим соотноше­ниям:
bc
x
n
nnn
dc
nnn
xxin
,
 
111
ii ii

, 1,..., 1
.
Вычислительная сложность прямого и обратного хода, как и мето­да в целом, составляет )(n
операций.
25
2.3. Метод простых итераций


x
x
x
x
x
xx
Для применения метода простых итераций систему (2.1) нужно преобразовать к виду
xx
...
...
...
n
n
где


11 12 1


21 22 2



... ... ... ...


nn nn
12

Предполагая, что диагональные коэффициенты равны нулю, из первого уравнения (2.1) выражают
и т. д. Таким образом,
1, ...,
jn ; 0
 при ij
ij
 ,
.
Очередное приближение
В качестве начального приближения
, (2.3)
1
2
,

.
...
n
a
, 1, ..., ,
in не
ii
, из второго –
1
b
i
i
(k+1)
x
(1) ()kk

a
ii
вычисляется следующим образом:

a
ij
ij
x
0
при ij, 1, ...,in
a
ii
. (2.4)
можно взять вектор . Ите-
рационные формулы в развернутом виде будут выглядеть так:
 
(1) ()
kk
 
xxink
iiijj
 
(0)

xin
ii
n
j
1
, 1, ..., ,
, 1, ..., ; 0,1, 2,...
2
,
Эффективность итерационных методов зависит от удачного выбора начального приближения и быстроты сходимости процесса. Решением системы уравнений (2.1) является вектор; для анализа работы итераци­онных методов необходима некая количественная характеристика век­торов. Для этой цели используются нормы, а в качестве меры различия
двух векторов x и
*
вычисляют
*
26
.
Нормой квадратной матрицы A называется функционал, обознача-
B
x
x
x
x
x
емый
A , удовлетворяющий условиям:
0A , причем 0A
1)
AA , для любого числа ;
2)
AB A B  , где
3)
AB A B .
4)
тогда и только тогда, когда 0
A ;
– функционал квадратной матрицы B;
Как правило, используются следующие виды норм и соответству­ющие им нормы векторов:
1)
max
2)
3)
max
AA
1
j
AA
i
AA
k
ij
i
ij
ij
j
2
,
ij
,
1
i
, max
2
;
i
x
;
i
x
i
i
2
x
.
i
Для сходимости итерационного процесса (2.4) достаточно, чтобы норма матрицы была меньше единицы:
1
. (2.5)
При этом справедлива оценка погрешности:
где
*
– точное решение.
() * (0) *
k
xxx , (2.6)
k
Как следствие, процесс итерации сходится, если для исходной не­преобразованной системы (2.1) выполнены следующие неравенства:
1
in
aa a


ii ij il
jli
11

,
,
1,...,in
т. е. модули диагональных элементов преобладают над суммой осталь­ных в строке, или
1
j
aa a


jj ij lj
ilj

11
n
, 1, ...,jn
27
,
когда модули диагональных элементов преобладают над суммой
x
x
x
x
x
x
остальных в столбце.
Для доказательства оценки погрешности (2.6) из итерационной формулы (2.4) нужно вычесть равенство
(1) * () *kk
xxx


:
. (2.7)
**
xx
Переходя к нормам, с учетом свойства нормы произведения получится
(1) * () *
kk
 
неравенство
xxx. Поскольку это неравенство
справедливо для всех 0, 1,
k
, то справедливо неравенство (2.6).
Использовать эту оценку на практике невозможно, поскольку
(0) *
неизвестно.
x
Для получения апостериорной оценки погрешности равенство (2.7) можно записать в виде
() * ( 1) () () * ( 1) () () *kkkk kkk
xx xxx x x xx
      .


Переходя к нормам:
() * ( 1) ()
kkk
1
 
xxx
или

1
, то вычисления сле-
() * ( 1) ()
kkk

xxx.
Если требуется найти решение с точностью дует вести до тех пор, пока не выполнится условие
1
(1) ()
kk
xx


. (2.8)
1

Если
, то можно использовать упрощенное неравенство
2
(1) ()kk
xx
. (2.9)
28
Выбор той или иной нормы должен определяться требованиями,
x
x
x
x
x
предъявляемыми к точности решения. Норма ции суммарного отклонения, выбор
обеспечит наименьшее максимальное отклонение в компо-
– среднеквадратической ошибки,
2
отвечает минимиза-
1
нентах решения.
Условие (2.5) является достаточным условием сходимости метода простых итераций, необходимое и достаточное условие формулирует­ся иначе. Метод сходится при любом начальном приближении тогда и только тогда, когда все собственные числа матрицы
по модулю
меньше единицы.
2.4. Метод Зейделя
Метод Зейделя представляет собой модификацию метода итераций. Основная его идея заключается в том, что при вычислении ( го1)-
приближения неизвестной
k приближения неизвестных
(-е1)
учитываются уже вычисленные ранее
i
, , ...,
xx
12 1
.
i
Пусть получена эквивалентная система (2.3) и задано начальное
приближение
(0) (0) (0) (0)
xxx x
, ,...,
12
T
, тогда расчетные формулы
n
метода Зейделя будут иметь вид:
(1) () () ()
kkkk
xxxx
   
11122133 1
... ;
nn
k
( 1) ( 1) () ()
kkkk

xxxx
    
22211 233 2
... ;
nn
...

(1) (1) (1) ()
kkkk
xxxx
    
nnn n nnn
Если представить матрицу
  , где
12
11 2 2
0, 1, ...k
как сумму двух треугольных матриц
29
... ;
0 0 ... 0
 
21


1

... ... ... ...


12
nn

то можно доказать, что
0 ... 0
,
... 0
kkk
() * () ( 1)
xx xx . Из этого сле-

0...


12 1

00...


2

... ... ... ...

00...0

2

1
n
2
n
,
дует критерий окончания итерационного процесса:
1
(1) ()
kk
где
– необходимая точность решения.
A – симметричная положительно определенная матрица, то
Если
xx


, (2.10)
2
метод Зейделя сходится при любом начальном приближении без ка­ких-либо дополнительных условий.
2.5. Задание для самостоятельной работы к главе 2
1. Подготовить программную реализацию метода Гаусса без выбо­ра главного элемента; использовать 32-битное представление веще­ственных чисел. Реализацию выполнить так, чтобы ею было возможно воспользоваться при разработке программ для выполнения следующих заданий. С помощью полученной программы решить соответствую­щую варианту систему СЛАУ 1 из таблицы ниже. Добавить в про­грамму выбор главного систему с выбором главного элемента. Объяснить полученные резуль­таты.
2. Подготовить программную реализацию приведения системы уравнений к виду (2.3) и решения системы заданным итерационным методом. Выполнение условия сходимости перед началом итерацион­ного процесса не контролировать, в качестве критерия остановки ис­пользовать условие (2.9). Попытаться решить соответствующую варианту
СЛАУ 2 из таблицы. Вручную преобразовать систему урав­нений так, чтобы гарантировать сходимость итерационного процесса. Добавить в программу опциональную проверку условия (2.5) и про-
элемента заданным способом. Решить ту же
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]