- •ВВЕДЕНИЕ
- •ПРИБЛИЖЕННОЕ РЕШЕНИЕ НЕЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
- •Постановка задачи
- •Приближенные (итерационные) методы решения НАУ
- •Метод деления отрезка пополам (дихотомии).
- •Метод простой итерации
- •Метод релаксации
- •Метод Ньютона (касательных)
- •Метод хорд
- •МЕТОДЫ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ
- •Постановка задачи
- •Прямые методы решения СЛАУ
- •Метод Крамера
- •Метод обратной матрицы
- •Метод Гаусса
- •Метод прогонки
- •Итерационные методы решения линейных алгебраических систем
- •Метод простой итерации
- •Метод Якоби
- •Метод Гаусса-Зейделя
- •АППРОКСИМАЦИЯ ФУНКЦИЙ
- •Постановка задачи интерполяции
- •Локальная интерполяция
- •Кусочно-постоянная интерполяция
- •Кусочно-линейная интерполяция
- •Кубический интерполяционный сплайн
- •Глобальная интерполяция
- •Полином Лагранжа
- •Подбор эмпирических формул
- •Метод наименьших квадратов
- •ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ
- •Постановка задачи
- •Формулы прямоугольников
- •Формула трапеций
- •Формула Симпсона
- •ЧИСЛЕННОЕ РЕШЕНИЕ ОБЫКНОВЕННЫХ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
- •Постановка задачи
- •Приближенные методы решения задачи Коши для ОДУ первого порядка
- •Метод Эйлера
- •Модифицированный метод Эйлера
- •Методы Рунге-Кутты
- •Численные методы решения систем ОДУ первого порядка
- •МЕТОД КОНЕЧНЫХ РАЗНОСТЕЙ РЕШЕНИЯ КРАЕВЫХ ЗАДАЧ ДЛЯ ОДУ
- •Постановка задачи
- •Аппроксимация производных
- •ПРИМЕРЫ РЕШЕНИЯ ЗАДАЧ И РЕКОМЕНДАЦИИ К ЭКЗАМЕНУ
Таким образом, задача состоит в том, чтобы при известных коэффициентах матрицы A и элементах вектора f найти такие
значения x1 x2 ... xm T , что при подстановке их в систему
уравнений (2.1) они превращаются в тождества.
Необходимым и достаточным условием существования единственного решения СЛАУ является условие det A 0 , т.е. определитель матрицы A не равен нулю. В случае равенства нулю определителя матрица A называется вырожденной и при этом СЛАУ (2.1) либо не имеет решения, либо имеет их бесчисленное множество. В дальнейшем мы будем предполагать наличие единственного решения.
Все методы решения линейных алгебраических задач можно разбить на два класса: прямые (точные) и итерационные (приближенные).
Прямые методы решения СЛАУ
Метод Крамера
Метод Крамера относится к классу точных методов решения СЛАУ. На практике он часто используется при небольшой размерности системы m 2 5 . Формулы метода Крамера решения СЛАУ выглядят как:
xi |
|
det Ai |
, ( i 1,2,..., m ) |
(2.2) |
|
det A |
|||||
|
|
|
|
Эти формулы позволяют находить неизвестные в виде дробей, знаменателем которых является определитель матрицы
системы, а числителем – определители матриц Ai , получаемых
из A заменой i-го столбца столбцом правых частей. Так матрица A1 получается из матрицы A заменой первого столбца
на столбец правых частей f .
Размерность системы (т.е. число неизвестных m ) является главным фактором, из-за которого формулы Крамера не могут
24
быть использованы для численного решения СЛАУ большого порядка. При непосредственном раскрытии определителей решение системы с m неизвестными требует порядка m!m арифметических операций. Таким образом, для решения
системы, |
например, из m 100 |
уравнений |
потребуется |
совершить |
10158 операций, что не |
под силу |
даже самым |
мощным современным ЭВМ. Для небольших m решение можно найти с помощью функций Excel.
ПРИМЕР 2.1. Рассмотрим |
метод |
Крамера |
|
на |
примере |
||||||||||||||
системы |
двух линейных |
|
|
уравнений |
вида |
x |
x |
|
1 |
. |
|||||||||
|
|
1 |
|
|
|
2 |
0 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
2x1 x2 |
|
||||||
Найдем определители: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
det A1 |
|
1 |
1 |
|
1 , det A2 |
|
1 |
1 |
|
2 , |
det A1 |
|
1 |
1 |
|
|
3. |
||
|
|
|
|
|
|
||||||||||||||
|
|
|
|
||||||||||||||||
|
|
2 |
0 |
|
|
|
0 |
1 |
|
|
|
|
2 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение по формулам Крамера: x1 13 13 , x2 23 23 .
ПРИМЕР 2.2. Решить методом Крамера СЛАУ
2x1 x2 1
x1 3x2 2x3 7 .3x1 5x2 8x3 5
Занесем на рабочий лист матрицу СЛАУ, вектор правых частей f ,
|
2 |
1 |
0 |
|
|
1 |
|
|
1 |
3 |
2 |
|
, f= |
7 |
, а также вспомогательные матрицы |
A= |
|
||||||
|
3 |
5 |
8 |
|
|
5 |
|
|
|
|
|
25
|
1 1 |
0 |
|
2 |
1 |
0 |
|
2 |
1 |
1 |
|||||||
A1 |
|
7 |
3 |
2 |
|
A2 |
|
1 |
7 |
2 |
|
A3 |
|
1 |
3 |
7 |
|
= |
|
= |
|
= |
. |
||||||||||||
|
|
5 |
5 |
8 |
|
|
|
3 |
5 |
8 |
|
|
|
3 5 |
5 |
|
|
|
|
|
|
|
|
|
|
|
С |
помощью функции |
Excel МОПРЕД |
вычислим |
||
= det A = 26, |
1 = det A1 = - 60, |
2 = det A2 = 94, |
|||
3 = det A3 = - 20. |
По |
формулам |
(2.2) |
находим |
|
x1 |
= 1/ = - 2.3077, |
|
x2 = 2/ = 3.6154, |
||
x3 |
= 3/ = - 0.7692. |
|
|
|
Метод обратной матрицы
Если det A 0 , то существует матрица A 1 , обратная к данной. Умножим исходную систему уравнений (2.1) на обратную матрицу слева. Получим
A 1 Ax A 1 f .
Известно, что произведение обратной матрицы на исходную дает единичную матрицу E , и, следовательно, получаем Ex A 1 f , или
x A 1 f |
(2.3) |
Решение СЛАУ свелось к умножению известной обратной матрицы на вектор правых частей. Таким образом, задача решения СЛАУ и задача нахождения обратной матрицы связаны между собой, поэтому часто решение СЛАУ называют задачей обращения матрицы. Проблемы использования этого метода те же, что и при использовании метода Крамера: нахождение обратной матрицы – трудоемкая операция. Однако для небольших m решение может быть получено с помощью функций Excel.
ПРИМЕР 2.3. С помощью метода обратной матрицы
8x1 4x2 2x3 10
решить систему 3x1 5x2 x3 5
3x1 2x2 10x3 4
26
Занесем на рабочий лист Excel матрицу коэффициентов
8 |
4 |
2 |
|
|
|
10 |
|
||
|
3 |
5 |
1 |
|
и вектор правых частей |
|
5 |
|
|
A |
|
f |
|
. |
|||||
|
3 |
2 |
10 |
|
|
|
|
4 |
|
|
|
|
|
|
|
Выделим на рабочем листе область размером 3 3 ячейки для обратной матрицы и вызовем функцию МОБР. В поле Массив занесем адреса ячеек исходной матрицы A, и, нажав комбинацию клавиш Ctrl+Shift+Enter, получим A-1:
0.195489 |
-0.16541 |
-0.02256 |
-0.1015 |
0.278195 |
-0.00752 |
-0.07895 |
0.105263 |
0.105263 |
Полученную обратную матрицу умножим на вектор правых частей f . Для этого выделим столбец из трех ячеек и вызовем
функцию МУМНОЖ. В поля Массив 1 и Массив 2 занесем адреса ячеек, в которых находятся найденная обратная матрица и вектор правых частей, после чего, нажав комбинацию клавиш Ctrl+Shift+Enter, получим решение СЛАУ
1.037594
0.345865
0.157895
Замечание. Если одна из клавиш Ctrl или Shift не нажата, вычисления будут выполнены не во всем выделенном диапазоне, а только в одной ячейке. В этом случае весь процесс вызова функции необходимо повторить.
Метод Гаусса
Наиболее известным и популярным прямым методом решения СЛАУ является метод Гаусса. Этот метод заключается в последовательном исключении неизвестных. Метод состоит из двух этапов. На первом (прямом) этапе исходная система сводится к системе с треугольной матрицей, которая решается на втором (обратном) этапе. На прямом этапе используются следующие эквивалентные преобразования строк расширенной матрицы системы: перестановка строк, умножение строки на ненулевую константу, сложение строк.
27
Прямой этап. Пусть в системе уравнений
a110 x1 |
a120 x2 |
... a1m0 xm |
f1 0 |
|
||||||||
|
0 |
x1 |
0 |
x2 |
0 |
|
|
|
0 |
|
||
a21 |
a22 |
|
... a2m xm |
f2 |
|
|||||||
|
|
|
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a 0 x |
a 0 x |
2 |
... a 0 |
x |
m |
|
f 0 |
|
||||
|
m1 |
1 |
m2 |
|
|
mm |
|
|
m |
|
||
первый |
элемент |
a |
0 0 . Назовем его ведущим элементом |
|||||||||
|
|
|
|
|
11 |
|
|
|
|
|
a 0 , и |
|
первой строки. Разделим все элементы этой строки на |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
11 |
исключим |
x1 |
из всех последующих строк, начиная со второй, |
путем вычитания первой (преобразованной), умноженной на
коэффициент при x1 |
в соответствующей строке. Получим |
|||||
x1 |
a121 x2 |
... a11m xm |
f1 1 |
|
||
|
1 |
|
1 |
|
1 |
|
|
a22 x2 ... a2m xm |
f2 |
. |
|||
|
|
... |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
1 |
|
|
am2 x2 |
... amm xm |
fm |
|
||
Если |
a221 0 , |
то на |
|
него можно разделить второе |
уравнение, а затем исключить x2 из всех остальных уравнений.
С помощью аналогичных преобразований приходим к системе уравнений с верхней треугольной матрицей
|
x1 a121 x2 |
a131 x3 |
... a11m xm f1 1 |
|
|||||
|
x2 |
2 |
|
x3 |
2 |
|
|
2 |
|
|
a23 |
|
... a2m xm |
f2 |
|
||||
|
|
|
x3 |
... a23m xm |
f2 3 |
(2.4) |
|||
|
|
|
|
||||||
|
|
|
|
... |
|
|
|
|
|
|
|
|
|
|
x |
|
|
f m |
|
|
|
|
|
|
m |
|
|||
|
|
|
|
|
|
|
m |
|
Обратный этап. Решаем систему (2.4) с верхней треугольной матрицей в обратном порядке:
28
xm |
fmm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xm 1 fmm1 1 amm1,1m xm |
|
|
. |
(2.5) |
||||
|
|
|
|
|
|
|
||
... |
|
|
|
|
|
|
|
|
x |
f 1 a 1 x |
2 |
a 1 x |
3 |
... a 1 x |
m |
|
|
1 |
1 |
12 |
13 |
1m |
|
В случае если один из ведущих элементов равен нулю, изложенный алгоритм метода Гаусса неприменим. Кроме того, если какие-либо ведущие элементы малы, то это приводит к усилению ошибок округления и ухудшению точности счета. Поэтому обычно используется другой вариант метода Гаусса – схема Гаусса с выбором главного элемента. Путем перестановки строк и других эквивалентных преобразований
добиваются |
выполнения |
условия: |
|
aii0 |
|
|
|
aij0 |
|
, |
|
|
|
|
|||||||
j 1,..., i 1, i 1, i 2,..., m , т.е. |
осуществляется |
выбор |
|
первого |
главного элемента. Переставляют уравнения так, чтобы в первом уравнении коэффициент a11 был максимальный по
модулю. Разделив первую строку на главный элемент, как и прежде, исключают x1 из остальных уравнений. Затем для
оставшихся столбцов и строк выбирают второй главный элемент и т.д.
ПРИМЕР 2.4. Рассмотрим применение метода Гаусса с выбором главного элемента на примере следующей системы уравнений:
|
|
0,5x2 |
|
x1 |
x2 |
|
||
2x |
||
|
|
1 |
x3 |
4 |
x3 |
5 . |
x3 |
6 |
В первом уравнении коэффициент при x1 равен 0, во втором 1 и
в третьем -2, т.е. максимальный по модулю коэффициент находится в третьем уравнении. Поэтому переставим третье уравнение на место первого:
29
2x1 |
|
x3 |
6 |
|
|
x1 |
x2 |
x3 |
5 . |
|
||||
|
|
0,5x2 |
x3 |
4 |
|
|
В третьем уравнении коэффициент при x1 |
равен 0. Исключим |
|||
x1 из второго уравнения: |
|
|
||
2x1 |
x3 |
6 |
|
|
|
x2 |
0,5x3 |
8 |
|
|
|
|||
|
0,5x2 |
x3 |
4 |
|
|
|
|||
Рассмотрим |
второе |
и третье уравнения. |
Исключим x2 из |
третьего уравнения. Для этого умножим второе на -0.5 и сложим с третьим:
2x1 |
|
x3 |
6 |
|
x2 |
0,5x3 |
8 . |
|
|||
|
|
1,25x3 |
0 |
|
|
Далее находим значения xi обратным ходом: из третьего уравнения получаем x3 0 , из второго x2 8 , и из первого x1 3. Выполним проверку:
|
|
0,5 8 |
0 |
4 |
|
3 |
8 |
0 |
5 . |
|
||||
|
|
|
0 |
6 |
2 3 |
|
Такая перестановка уравнений необходима для того, чтобы уменьшить влияние ошибок округления на конечный результат.
Часто возникает необходимость в решении СЛАУ, матрицы которых являются слабо заполненными, т.е. содержат много нулевых элементов. В то же время эти матрицы имеют определенную структуру. Среди таких систем выделим системы с матрицами ленточной структуры, в которых ненулевые элементы располагаются на главной диагонали и на нескольких
30