Скачиваний:
0
Добавлен:
11.06.2025
Размер:
2 Кб
Скачать
m=input('Введите кол-во строк: ');
n=input('Введите кол-во столбцов/неизвестных: ');

A=zeros(m,n+1);
B = zeros(m, n);

for i=1:m
    for j=1:(n+1)
        A(i,j)=input('Введите элемент расширенной матрицы A: ');
    end
end


% Так называемый "срез" матрицы. От расширенной матрицы  размерности 
% (m x n+1) мы берём подматрицу (основную) (m x n) 
% (в данном случае ":" в первом аргументе означает размерность исходной матрицы от которой берётся срез, то есть m) 
T = A(:, 1:n); 

disp(A)
disp(T)

U=rank(A); % ранг основной матрицы A
disp('Ранг основной матрицы A: ')
disp(U)

P=rank(T); % ранг расширенной матрицы A
disp('Ранг расширенной матрицы A: ')
disp(P)

if P~=U % по теореме Кронекера-Капелли
    disp('Система несовместна, а значит не имеет решения')
else

disp('Решение СЛАУ: ')

for k=1:m
    for j=(k+1):(n+1)
        A(k,j)=A(k,j)/A(k,k);
    end

    for i=(k+1):m
        for j=(k+1):(n+1)
            A(i,j)=A(i,j)-A(k,j)*A(i,k);
        end
    end
end

x(m)=A(m,n+1);

disp(x(m))

for k=(n-1):-1:1
    r=0;
    for j=m:-1:(k+1)
        r=r+A(k,j)*x(j);
    end

    x(k)=A(k,n+1)-r;
    disp(x(k))

end

end
Соседние файлы в папке ЛР8