Вычислительные методы линейной алгебры. Горбаченко В.И - 33 стр.

UptoLike

33
Вектор правой части
b =
8
-3
11
15
Решение системы
x =
2
-2
1
3
Невязка
r =
0
0
0
0
Главная программа метода Гаусса (файл Sam2_02.m):
% Метод Гаусса решения СЛАУ
% Главная программа
clear;
clc;
% Пример матрицы и правой части
disp('Матрица решаемой системы')
A=[4 8 4 0
1 5 4 -3
1 4 7 2
1 3 0 -2]
disp('Вектор правой части')
b=[ 8
-4
10
4]
[x,fl]=gauss(A,b);% Вызов метода Гаусса
if fl
disp('Решение')
x
disp('Невязка');
r=b-A*x
end
похожа на предыдущую программу, но использует функцию gauss, реали-
зующую метод Гаусса:
function [x,flag]=gauss(A,b)
% Реализует метод Гаусса с выбором главного элемента по столбцу,
% использует функцию backsub решения СЛАУ с треугольной матрицей
% Вход - A - матрица nxn
% - b - вектор правой части
% Выход- x - вектор решения
% - flag - признак вырожденности матрицы A
% flag=1 - матрица не вырождена, flag=0 - матрица вырождена)
Вектор правой части
b =
     8
    -3
    11
    15
Решение системы
x =
     2
    -2
     1
     3
Невязка
r =
     0
     0
     0
     0
    Главная программа метода Гаусса (файл Sam2_02.m):
% Метод Гаусса решения СЛАУ
% Главная программа
clear;
clc;
% Пример матрицы и правой части
disp('Матрица решаемой системы')
A=[4 8 4 0
   1 5 4 -3
   1 4 7 2
   1 3 0 -2]
disp('Вектор правой части')
b=[ 8
   -4
    10
    4]
[x,fl]=gauss(A,b);% Вызов метода Гаусса
if fl
    disp('Решение')
    x
    disp('Невязка');
    r=b-A*x
end
похожа на предыдущую программу, но использует функцию gauss, реали-
зующую метод Гаусса:
function [x,flag]=gauss(A,b)
% Реализует метод Гаусса с выбором главного элемента по столбцу,
% использует функцию backsub решения СЛАУ с треугольной матрицей
% Вход - A - матрица nxn
%      - b - вектор правой части
% Выход- x - вектор решения
%      - flag - признак вырожденности матрицы A
% flag=1 - матрица не вырождена, flag=0 - матрица вырождена)

                                                                   33