function matice
r=input('Zadej pocet radku matice: ');
s=input('Zadej pocet sloupcu matice: ');
for m=1:r
    for n=1:s
        A(m,n)=input(['Zadej prvek na pozici ',num2str(m),',',num2str(n),': ']);
    end
end
disp('Matice')
disp(A)
disp('Diagonala matice')
disp(diag(A))
disp('Maximum matice')
disp(max(max(A)))
disp('Minimum matice')
disp(min(min(A)))
disp('Soucet prvku matice')
disp(sum(sum(A)))
disp('Hodnost matice')
disp(rank(A))
disp('Vektor pravych stran:')
for n=1:r
    b(n)=input(['Zadej prvek ',num2str(n),': ']);
end
disp('Vektor pravych stran:')
disp(b) % radkovy
disp('Determinant matice')
if(r==s)
    disp(det(A))
    if(det(A)~=0)
        x=A\b.'; % b.' sloupcovy
        disp('Reseni soustavy')
        disp(x)
    else
        Ar=[A,b.'];
        if((rank(A)==rank(Ar))&&(rank(A)~=r))
            disp('Soustava ma nekonecne mnoho reseni')
        else
            disp('Soustava nema reseni')
        end
    end       
else
    disp('Matice neni ctvercova')
end

end

