
- •Порядок выполнения.
- •Матрицы.
- •Элементарные преобразования над матрицами
- •Упражнение 1
- •Обратная матрица
- •Упражнение 2.
- •Метод Гаусса
- •Упражнение 3. Решение слау методом Гаусса.
- •Матрицы элементарных преобразований.
- •Упражнение 4
- •Упражнение 5.
- •Упражнение 6.
- •Упражнение 7.
- •LUразложение без перестановки строк.
- •Упражнение 8.
- •Метод исключения Гаусса и lu- разложение.
- •Упражнение 9. Решение слау методом Гаусса иLu- разложением.
- •Матричные уравнения и lu- разложение
- •Упражнение 10.
- •Об ошибках округления.
- •Влияние малых ведущих элементов на метод Гаусса.
- •Итерационное уточнение решения. Вектор невязки.
- •Число обусловленности матрицы
- •Погрешность правой части
- •Упражнение 11. Число обусловленности и относительная погрешность решения систем
- •Метод простой итерации для решения систем.
- •Упражнение 12.
- •Задание для самостоятельной работы
- •Темы для презентации
- •Задачи.
- •Список рекомендуемой литературы
Обратная матрица
Обратная матрица - такая матрица A−1, при умножении на которую, исходная матрицаA даёт в результате единичную матрицуE:
Квадратная матрица обратима тогда и только тогда, когда она невырожденная, то есть её определитель не равен нулю.
Есть два метода нахождения обратной матрицы:
1. С помощью нахождения определителя и алгебраических дополнений см.Л.3
2. С помощью элементарных преобразований строк (метод Гаусса - Жордана):
Рассматриваются
одновременно две матрицы
,E- единичная (на главной диагонали стоят
единицы, на остальных местах - нули)
матрица того же размера, что иA. Элементарными преобразованиями строк
приводят матрицуAк
единичному виду, тогда то, что окажется
на месте матрицыE
и будет обратной матрицей:
преобразованием
строк приводим к
В MATLABдля нахождения обратной матрицы используется командаinv(A), в основе которой лежит метод Гаусса - Жордана. Это оправдано тем, что первый метод «дороже». Потребуется вычислитьn2определителей (n – 1)-го порядка и один определительn-го порядка, (см в Л.5. стр. 139). Есть еще причины, но о них будет сказано ниже.
Упражнение 2.
Создать м-файл, позволяющий элементарными преобразованиями находить обратную матрицу для матриц произвольной размерности.В тетради и с помощью данной программы найти обратные матрицы для матриц:
,
,
.
Выполнить проверку
()
Метод Гаусса
Рассмотрим теперь систему nлинейных уравнений сnнеизвестными:
-
матрица системы,
-
столбец неизвестных,
- столбец
свободных членов.
Тогда систему
уравнений можно записать в матричном
виде
.
-
расширенная матрица системы.
Пусть коэффициент
a11, называемый
ведущим элементом первого шага, не равен
нулю. Исключим неизвестноеx1каждого уравнения системы, начиная со
второго, путем вычитания изi-го
уравнения системы первого уравнения,
умноженного на коэффициент, гдеi = 2,3,…,n.
Получим систему
,
с матрицей
,
и с соответствующей ей расширенной матрицей
Пусть теперь
коэффициент
, называемый
ведущим элементом второго шага, не равен
нулю. Исключим неизвестноеx2из каждого уравнения системы, начиная
с третьего, путем вычитания изi-го
уравнения системы второго уравнения,
умноженного на коэффициент
, гдеi = 3,4,…,n.
В итоге на (n –1)-ом шаге в результате «прямого хода» мы получим треугольную систему эквивалентную исходной.
«Обратным ходом» выразим значения неизвестных системы, начиная с последнего
,
,…
Понятно, что ведущие элементы каждого шага должны быть отличны от нуля. Однако этого мало - их близость к нулю может оказаться причиной значительных отличий найденного приближенного решения от точного, см. пп. 7.1
Упражнение 3. Решение слау методом Гаусса.
Написать М-функцию, решающую системы уравнений методом Гаусса с произвольным числом неизвестных,осуществляющую «прямой» и «обратный» ход. Входящими данными являются матрица системы и столбец свободных членов. Решить системы:
;
;
;
.
Проверить решение подстановкой.
Указание к упр.4: подумайте, как наилучшим образом использовать следующие действия над матрицами:
A=[]; b=[];
AA=[A,b]; % описать действие команды
B=AA;
% прямой ход метода Гаусса
% первый шаг k=2,3,…n
B(k,:)=(- B(k,1)/B(1,1)) B(1,:)+B(k,:); % описать действие команды
% второй шаг k=3,4,…n
B(k,:)=(- B(k,2)/B(2,2))*B(2,:)+B(k,:); % описать действие команды
% и так далее
% (n-1)-ый шаг k=n
B(n,:)=(-B(n,n-1)/B(n-1,n-1))*B(2,:)+B(n,:); % описать действие команды
B
A1=B(:,1:n), b1=B(:,n+1)
% проверка [A1,b1] равно B
isequal(B , [A1,b1])
%обратный ход метода Гаусса для правой части b
b1=B(:,n+1); x=zeros(n,1);
x(n)=b1(n)/A1(n,n); % описать действие команды
x(n-1)=(b1(n-1)-A1(n-1,n)*x(n))/U(n-1,n-1); % описать действие команды
итд;
x(1)=(b1(1)-A1(1,n)*x(n)-A1(1,n-1)*x(n-1)-…-A1(1,2)*x(2))/A1(1,1);
x
isequal(b,A*x) % описать действие команды
Если не получится написать м-функцию для систем произвольного порядка, напишите четыре м-функции для систем 2-го, 3-го, 4-го порядков.