Добавил:
t.me мой будущий Dungeon Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
11.06.2025
Размер:
1.6 Кб
Скачать
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