- •1.1. Основные этапы решения задач с помощью эвм
- •1.2. Погрешности результатов численного решения задач
- •1.3. Основные требования к алгоритмам и программному обеспечению
- •2.1. Метод дихотомии (деления отрезка пополам)
- •2.2. Метод хорд
- •2.3. Метод простой итерации
- •2.4. Метод Ньютона
- •2.5. Модификации метода Ньютона
- •3.1. Основные понятия вычислительной линейной алгебры
- •3.2. Некоторые точные методы решения слау
- •3.3. Итерационные методы решения слау
- •3.4. Вычисление собственных значений матрицы
- •4.1. Постановка задачи интерполяции
- •4.2. Полиномиальная интерполяция. Формула Лагранжа
- •4.3. Разделенные разности и интерполяционная формула Ньютона
- •4.4. Кусочно-полиномиальная интерполяция
- •4.4. Программы решения задач интерполяции с помощью Matlab
- •5.1. Численное дифференцирование
- •5.2. Погрешности методов численного дифференцирования
- •5.3. Численное интегрирование. Простейшие методы
- •5.4. Метод Ньютона-Котеса и его модификация
- •5.5. Методы Монте-Карло
- •6.1. Решение пере- и недоопределенных слау
- •6.2. Примеры решение переопределенной слау методом наименьших квадратов Пусть
- •6.3. Метод наименьших квадратов для регрессионного анализа
- •Задание к главе 6
- •7.1. Методы решения задачи Коши
- •7.2. Методы Рунге-Кутта решения задачи Коши
- •7.3. Решение краевой задачи для оду
- •Задания к главе 7
- •8.1. Решения дифференциальных уравнений первого порядка
- •8.2. Решения дифференциальных уравнений параболического типа
- •8.3. Решение дифференциальных уравнений эллиптического типа
- •8.4. Решение дифференциальных уравнений гиперболического типа
3.3. Итерационные методы решения слау
В
СЛАУ (3.1) представим матрицу
в виде
,
тогда
система приобретает вид
или
. (3.13)
Рассмотрим
последовательность векторов
,
удовлетворяющую условию
, (3.14)
где
(
),
и вектор
,
где
– решение заданной системы.
Вычтя
из равенства (3.13) равенство (3.14), получим
,
т.е.
.
Поэтому
,
…,
и, если множество
стремится к нулю, то итерационный процесс
(3.14) сходится и пределом последовательности
является вектор
– решение данной системы.
Итерационный
метод (3.14) сходится тогда и только тогда,
когда каждое собственное значение
матрицы
удовлетворяет неравенству
.
Скорость
сходимости зависит от спектрального
радиуса
матрицы
,
который определяется равенством
.
Метод простой итерации. Метод простой итерации сводится к представлению матриц
и
в следующем виде:
,
,
Тогда
матрицу
можно вычислить следующим образом
.
Из неравенства (3.14) следует, что
. (3.15)
Соотношение (3.15) определяет алгоритм вычисления.
Пример. Решить методом простой итерации систему уравнений

Выразим
из первого уравнения,
– из второго и
– из третьего. Получим

то есть

где
.
Используя это соотношение, можем
последовательно вычислять векторы
.
Решение будет найдено, когда
,
где
– некоторая заданная точность решения.
Программа 3.3
m=input(‘ m=? ‘)
d=diag(A);
x=b;
v=x;
S=diag(d);
T=S–A;
for i=1:m,
y=(T*x+b)./d;
e=abs(x–y);
x=y, v=[v,x];
end
plot(v’)
end.
2.
Метод Зейделя.
Матрицы
и
определяются следующим образом:
,
,
где
– нижняя
треугольная матрица, а
– верхняя (строго) треугольная матрица.
Применяя метод Зейделя к решению рассмотренной выше системы, получим следующие соотношения

для
членов последовательности
.
Программа 3.4
m=input(‘ m=? ‘)
x=b;
v=x;
S=trial(A);
T=S–A;
Si=inv(S);
for i=1:m,
y=Si*(T*x+b);
e=abs(x–y),
x=y,
v=[v,x];
end;
plot(v’)
end.
3.
Метод последовательной верхней
релаксации.
Матрица
представляется в виде суммы трех матриц:
,
где
–диагональная матрица,
– строго нижняя треугольная матрица и
– строго верхняя треугольная матрица.
Заметим, что метод простой итерации
получается, если
и
,
а метод Зейделя, если
и
.
Итерационная последовательность
определяется равенством
![]()
при
этом величина
удовлетворяет соотношению
и выбирается с целью увеличения скорости
сходимости метода. Заметим, что при
получается метод Зейделя.
3.4. Вычисление собственных значений матрицы
Если
число
и вектор
размерности (
)удовлетворяют
уравнению
,
то
называется собственным значением
матрицы
и
– собственным вектором, соответствующим
.
Совокупность всех собственных значений
матрицы
называется ее спектром
.
Неотрицательное вещественное число
![]()
называется
спектральным радиусом матрицы
.
Собственные значения матрицы определяются из уравнения для определителя
, (3.16)
где
– единичная матрица.
Например, матрица
![]()
имеет
спектр
,
а спектральный радиус у нее равен
.
В самом деле
,
это приводит к уравнению
,
которое
имеет корни
и
.
Следом
матрицы
называется сумма ее диагональных
элементов
.
Отметим
без доказательства, что для собственных
значений матрицы
справедливы
следующие равенства:
,
.
Собственные
значения и собственные вектора матриц
используются при решении различных
задач. Существует немало различных
способов нахождения собственных значений
матрицы, помимо решения уравнения
(6.16). Рассмотрим здесь один из таких
способов, связанный с
-разложением.
Пусть
и
– матрицы размера
,
причем существует матрица
,
обратная матрице
и
,
тогда матрицы
и
называются подобными. Тогда справедливо
следующее утверждение. Подобные матрицы
имеют одни и те же собственные значения
с одинаковыми кратностями. Действительно.
Имеем следующую цепочку равенств

На
основе данного положения строится
-алгоритм
нахождения собственных значений матрицы.
Пусть
– матрица,
у которой нужно найти собственные
значения. Обозначим
и разложим эту матрицу в произведение:
.
Умножив последнее равенство на
,
получим
.
Обозначив
,
заметим, что матрицы
и
подобны и, следовательно, имеют одинаковые
собственные значения. Продолжая этот
процесс, получим матрицу
,
где
,
и, коммутируя сомножители последней, –
матрицу
.
Таким
образом, получается последовательность
матриц
,
каждый член которой подвергается
-разложению
и каждый последующий за ней член –
коммутации сомножителей. При этом все
члены последовательности, являясь
подобными матрицами, имеют равные
собственные значения. Отметим без
доказательства, что эта последовательность
сходится к диагональной матрице,
диагональные элементы которой равны
собственным значениям всех матриц
последовательности и поэтому являются
собственными значениями исходной
матрицы
.
Покажем,
каким образом можно реализовать
рассмотренный алгоритм. Матрица
задана.
Параметр
в программе задает число итераций.
Полученный результат можно сравнить с
собственными значениями, найденными с
помощью оператораeig(A).
Программа 3.5
[Q,R]=qr(A);
m=input(‘ m=? ‘)
for i=1,m,
B=R*Q, pause,
[Q,R]=qr(B);
end
Задания к главе 3
Решить
(методом Гаусса, QR-разложением
и методом Зейделя) следующие системы
линейных алгебраических уравнений
.
Вычислить первую, вторую и бесконечные
нормы матрицы
.
Оценить относительные погрешности
решения, считая, что
и
.
Представить программы и решение.
3.1.
A=
,b=
3.2.A=
,b=![]()
A=
,b=
3.4.A=
,b=
A=
,b=
3.6.A=
,b=
A=
,b=
3.8.A=
,b=
3.9.
A=
,b=
3.10.A=
,b=
.
4. Численная интерполяция
Часто
требуется восстановить функцию
для всех значений
на отрезке
,
если известны ее значения в конечном
числе точек этого отрезка. Эти значения
могут быть найдены в результате наблюдений
или вычислений, кроме того, может
оказаться, что функция
находится по достаточно трудоемкой для
вычисления формуле и желательно иметь
более простую формулу, чтобы определить
функцию с заданной точностью. В результате
возникает математическая задачаинтерполяции.
