如何用matlab生成一个单位正交矩阵?

假设要生成n阶的单位矩阵,先用A=rand(n,n)生成n*n的随机矩阵(一般情况下都是满秩的),然后用B=orth(A)即可得到n*n的单位矩阵。命令就三行

n=5 %假定生成5阶单位矩阵
A=rand(n,n)

B=orth(A)

例如:

A=rand(3,3) B=orth(A) A =     0.9649    0.9572    0.1419     0.1576    0.4854    0.4218     0.9706    0.8003    0.9157 B =    -0.6208    0.7763   -0.1091    -0.2820   -0.3509   -0.8929    -0.7315   -0.5236    0.4368 >> B*B' ans =     1.0000   -0.0000   -0.0000    -0.0000    1.0000    0.0000    -0.0000    0.0000    1.0000

你可能感兴趣的:(技术文章)