I made this script.. it has no loops.. hows yours
__________________________
function D=determinant4x4(A)
CA=length(A(:,1));
RA=length(A(1,:));
D=zeros(1,1);
d12=A(3,1)*A(4,2)-A(3,2)*A(4,1);
d13=A(3,1)*A(4,3)-A(3,3)*A(4,1);
d14=A(3,1)*A(4,4)-A(3,4)*A(4,1);
d23=A(3,2)*A(4,3)-A(3,3)*A(4,2);
d24=A(3,2)*A(4,4)-A(3,4)*A(4,2);
d34=A(3,3)*A(4,4)-A(3,4)*A(4,3);
d123=A(2,1)*d23-A(2,2)*d13+A(2,3)*d12;
d234=A(2,2)*d34-A(2,3)*d24+A(2,4)*d23;
d134=A(2,1)*d34-A(2,3)*d14+A(2,4)*d13;
d124=A(2,1)*d24-A(2,2)*d14+A(2,4)*d12;
if CA==RA
D=A(1,1)*d234-A(1,2)*d134+A(1,3)*d124-A(1,4)*d123
else D=('CA not equal to RA so determinant cant be determined')
end