function [det_mat] = detMat(m)
[nr, nc] = size (m);
if (nr == nc)
len = length(m);
det_mat{1} = m;
det_mat{5} = det(m);
for order = len - 1 : len - 1
perms = nchoosek(1:len,order);
for i = 1 : length(perms)
for j = 1 : length(perms)
det_mat{2}(len+1-i,len+1-j) = det(m(perms(i,1:end),perms(j,1:end)));
if (mod(abs(i-j),2) == 1)
det_mat{3}(len+1-i,len+1-j) = -1 * (det_mat{2}(len+1-i,len+1-j));
else
det_mat{3}(len+1-i,len+1-j) = det_mat{2}(len+1-i,len+1-j);
endif
temp_mat(len+1-i,len+1-j) = det_mat{3}(len+1-i,len+1-j);
end
end
end
for j = 1 : length(perms)
for i = 1 : length(perms)
det_mat{4}(i,j) = temp_mat(j,i);
end
end
det_mat{6} = 1/det_mat{5}*det_mat{4};
det_mat{7} = [' 1)Your matrix ' ' 2)Minors ' ' 3)Masked ' ' 4)Adjunct ' ' 5)Determinant ' ' 6)Inverse'];
elseif ((nr =! nc)) %% double bracket suppresses warning????
disp("Error: Not a square matrix")
endif