我想随机生成一个矩阵,怎样能让他的行列式为1或-1?使用matlab实现

最好是能详细点的
2024-11-27 14:27:42
推荐回答(1个)
回答1:

举个3x3矩阵的例子
A = rand(3);
A(9) = (1+A(3)*A(5)*A(7)-A(2)*A(6)*A(7)+A(1)*A(6)*A(8)-A(3)*A(4)*A(8))/(A(1)*A(5)-A(2)*A(4));
disp(det(A));

A(9) = (-1+A(3)*A(5)*A(7)-A(2)*A(6)*A(7)+A(1)*A(6)*A(8)-A(3)*A(4)*A(8))/(A(1)*A(5)-A(2)*A(4));
disp(det(A));
原理就是随机出N个数,第N+1个数算出来