Нулевой – вектор, все компоненты которого равны нулю и обозначается в тексте программы как: a=[0;0;0]; a= zeros(3,1);
Транспонированный - вектор at= a’;
Матрица единичная E=[1 0 0;0 1 0;0 0 1]; E=eye(3);
Транспонированная – матрица, в которой строки заменены на соответствующие столбцы
AT=A’;
Равенство матриц
т.е. aij= bij где i=1,2,3,…,n j=1,2,3,…,m
Норма (длина) вектора
nor=sqrt(sum(a.^2)); nor=norm(a);
Норма матрицы (Эвклидова)
Nor_A=sqrt(sum(A.^2)); Nor_A=norm(A,’fro’);
Складывать или вычитать можно только вектора с одинаковой размерностью
c=a+b;
Складывать или вычитать можно только матрицы с одинаковой размерностью
C=A+B;
Умножение вектора на константу.
c=λ*b;
Умножение матрицы на константу
C= λ *B;
Скалярное произведение векторов Это значение суммы произведений соответствующих компонент двух векторов.
z=a’ * b;
Угол между векторами. Косинус угла
r=a’*b/(norm(a)*norm(b))
Умножение матриц
Количество столбцов матрицы
должно равняться количеству строк матрицы
Элемент
вычисляется как скалярное произведение i-й строки матрицы
и j-го столбца матрицы
C=A*B;
Обратной матрицей называется такая квадратная матрица
при умножении которой на исходную как справа так и слева получается единичная матрица
AO=inv(A);
Обращение матрицы
методом Гаусса-Жордана заключается в построении расширенной матрицы
и преобразовании расширенной матрицы так, чтобы на месте исходной получилась единичная матрица, тогда на месте единичной получится обратная матрица:
Метод Гаусса-Жордана состоит из четырёх этапов
1) Строим расширенную матрицу дописав к исходной квадратной матрице единичную матрицу того же размера
и задаём номер ведущей строки k=1. E=eye(n); C=[A,E];
2) Делим элементы k-й строки начиная с k-ого на
j = k,k+1,k+2,…,2·n т.е.
=1.
3) Преобразуем все i-е строки кроме k-й, i=1,2,3,…,n i≠k так, чтобы элементы cik=0. Для этого из каждого элемента i-й строки начиная с k-ого вычитаем соответствующий элемент k-й строки, умноженный на элемент cik, т.е. 
4) Проверяем условие k<n, если оно справедливо, то k=k+1 и выполняем алгоритм с пункта 2, иначе выводим полученную обратную матрицу, расположенную на месте единичной.
Система линейных алгебраических уравнений (СЛАУ). В общем виде СЛАУ можно записать в следующем виде
Совокупность коэффициентов
, i =1,2,3,…,n; j=1,2,3,….,m системы можно представить в виде матрицы:
Совокупность неизвестных
в виде вектора
Совокупность неизвестных
в виде вектора 
Используя выше приведенные определения, запишем СЛАУ в матричном виде:
Решить СЛАУ значить найти такие значения вектора x, подстановка которого в систему, обращает каждое уравнение этой системы в тождество
Классификация СЛАУ. СЛАУ называется: Переобусловленной, если n>m. Недообусловленой, если n<m. Нормальной, если n=m. Однородной, если вектор
. Неоднородной, если вектор
. Если система, имеет хотя бы одно решение, она называется совместной. Система, не имеющая решений, называется несовместной. Совместная система, имеющая единственное решение, называется определенной, а имеющая бесчисленное множество решений, называется неопределенной. Очевидно, что однородная система всегда совместна, так как имеет хотя бы одно решение
, которое называется тривиальным.
Все методы решения СЛАУ можно разделить на две группы: точные и итерационные.
Точные методы позволяют получить решение путем выполнения определённого и точного количества арифметических операций. При этом погрешность решения определяется лишь точностью представления исходных данных и точностью вычислительных операций.
Итерационные методы дают некоторую последовательность приближений к решению. Пределом этой последовательности является решение системы уравнений. Решение, возможно, определить лишь с некоторой, как правило, заданной степенью точности e. Количество итераций для достижения требуемой точности решения определяется величиной e, выбором начального приближения и видом системы уравнений.
Точные методы: Метод обратной матрицы
x=inv(A)*b x=A\b
Метод Гаусса. Метод Гаусса включает два этапа:
Первый этап (прямой ход) заключается в последовательном исключении неизвестных из системы уравнений и состоит из n–1 шага. На первом шаге с помощью первого уравнения исключается x1 из всех последующих уравнений начиная со второго, на втором шаге с помощью второго уравнения исключается x2 из последующих уравнений начиная с третьего и т.д. Последним исключается xn-1 из последнего n-го уравнения так, что последнее уравнение будет содержать только одно неизвестное xn. Такое последовательное исключение неизвестных равносильно приведению матрицы коэффициентов к треугольному виду. Строка, с помощью которой исключаются неизвестные, называется ведущей строкой, а диагональный элемент в этой строке – ведущим элементом.
Второй этап (обратный ход) заключается в последовательном вычислении искомых неизвестных и состоит из n шагов. Решая последнее уравнение, находим неизвестное xn. Далее используя это значение из предыдущего уравнения вычисляем неизвестное xn-1 и т.д. Последним найдем неизвестное x1 из первого уравнения.
Матрица, содержащая помимо. коэффициентов при неизвестных столбец свободных членов
, называется расширенной 
1) Строим расширенную матрицу
размерностью n на n+1, приписав, справа к матрице
вектор
т.е. ci,j=ai,j, ci,n+1=bi, где i=1,2,3,…,n j=1,2,3,…,n
Задаем номер ведущей строки k = 1
2) Преобразуем все строки, расположенные ниже k-ой так, чтобы элементы cik=0, для этого вычисляем множитель b=-сi,k/ck,k и каждую i-ую строку заменяем суммой i–ой и k-ой умноженной на b, т.е. ci,j=ci,j+b*ck,j где i = k+1,k+2,k+3,….,n и j = k,k+1,k+2,…,n+1
3) Проверяем k = n-1 если нет, то выбираем новую ведущую строку k=k+1 и переходим на пункт 2, иначе выполняем пункт 4.
4) Обратный ход. Из последнего n-ого уравнения определяем последнее n-ое неизвестное. xn=cn,n+1/cn,n Последовательно, из предыдущих уравнений начиная с i=n-1, вычисляем соответствующие неизвестные xi. Последним, определяется первое неизвестное из первого уравнения 
Для уменьшения погрешности вычислений используют модификации метода Гаусса, которые определяются выбора«ведущего» элемента. В модификации с частичным выбором на каждом k-м шаге прямого хода в качестве «ведущего» выбирается наибольший по модулю элемент из неприведённой части k-го столбца матрицы, т.е.
Строка, содержащая этот элемент, переставляется с k-й строкой расширенной матрицы
При полном выборе в качестве «ведущего» элемента выбирается максимальный по модулю элемент из всей неприведённой части матрицы коэффициентов системы:
Для этого осуществляется необходимая перестановка как строк, так и столбцов в расширенной матрице коэффициентов. При этом следует помнить, что перестановка столбцов равносильна переименованию неизвестных.
Обусловленность систем линейных алгебраических уравнений. Если система плохо обусловлена, то это значит, что погрешности коэффициентов матрицы и свободных членов или погрешность округления при расчетах могут сильно исказить решение.
Исходную систему уравнений
с учетом погрешности в векторе
запишем как
или
и тогда
, отсюда можно выразить ошибку
. Абсолютную погрешность определим, как норму ошибки
или
. Определим относительную погрешность
. Определим
Из исходной системы
получим
далее определим
и подставим в определение относительной погрешности, получим 
Вводим понятие числа обусловленности:
и тогда
.
Метод простых итераций. Алгоритм метода состоит из трёх этапов.
Первый этап. Приведение СЛАУ к итерационному виду, для этого разрешим каждое уравнение относительно соответствующего неизвестного:
Тогда итерационную формулу запишем в виде:
где вектор
– приведенный столбец свободных членов,
– приведенная матрица коэффициентов
Второй этап. Проверяем условие сходимости
если условие не выполняется, то преобразуем исходную систему и выполняем 1-й этап.
Третий этап. Осуществляем уточнение решения по полученной итерационной формуле
За начальное приближение принимается
Условием окончания итерационного процесса является выполнение условия
где величина ε определяет точность получаемого решения, а
– смежные приближения к решению.
Программа решения СЛАУ. Простые итерации.
function DATA
global A b eps n;
eps=0.4;
n=3;
A=[4 1 1; 2 5.5 1; 2 1 4];
b=[6;8.5;7];
end
function [ x ] = fun_SLAU_Prost_Iterac(A,b,n,eps)
for i=1:n
for j=1:n
if i==j
C(i,j)=0;
else
C(i,j)=A(i,j)/A(i,i);
end %if
end %for j
end %for i
for i=1:n
d(i)=b(i)/A(i,i);
end % for i
d=d';
if norm(C, 'fro')<=1
x0=d;
for i=1:100
x1=d-C*x0;
if norm(x1-x0)<=eps
i
x=x1;
break;
else
x0=x1;
end %if
end %for i
else
disp('||C||>1');
x=zeros(n);
end %if
end % function
function GLAV_SLAU_Prost_Iterac
global A b eps n x;
DATA;
[ x ] = fun_SLAU_Prost_Iterac(A,b,n,eps);
REPORT;
end
function REPORT
global A b eps n x;
disp('Arguments SLAU_Prost_Iterac');
disp('matrix A');
A
disp('Column b');
b
disp(['eps = ' num2str(eps,'%10.5f') ]);
disp('Results SLAU_Prost_Iterac');
disp('Column of variables');
x
disp('Ax-b');
A*x-b
end






