随机矩阵单位化

来源:互联网 发布:淘宝卖家免费打折工具 编辑:程序博客网 时间:2024/05/21 09:17

随机矩阵单位化

方法一.   A=A*diag(1./sqrt(diag(A'*A)));

例子.A =

   0.1253   -1.1465    1.1892

   0.2877    1.1909   -0.0376

1.        A'*A =

   0.0985    0.1989    0.1382

   0.1989    2.7327   -1.4082

   0.1382   -1.4082    1.4155

2.        >> diag(A'*A)=

   0.0985

   2.7327

   1.4155

3.        >> sqrt(diag(A'*A))=

   0.3138

   1.6531

   1.1898

4.        >> 1./ sqrt(diag(A'*A))=

   3.1868

   0.6049

   0.8405

5.        >> diag(1./ sqrt(diag(A'*A)))

   3.1868         0         0

        0    0.6049         0

        0         0    0.8405

6.        B=A* diag(1./ sqrt(diag(A'*A)));此时B’*B对角线元素等于1,表明B的3个列向量已经单位化,即列向量的2范数等于1;但B的行向量不满足这个性质。

B =

    0.3994  -0.6935    0.9995

    0.9168   0.7204   -0.0316

B'=

    0.3994   0.9168

   -0.6935   0.7204

    0.9995  -0.0316

>>B'*B

ans =

    1.0000   0.3835    0.3702

    0.3835   1.0000   -0.7160

    0.3702  -0.7160    1.0000

 B*B'

ans =

    1.6395  -0.1651

       -0.1651   1.3605

方法二、针对每一个列向量进行

A =

    0.1253  -1.1465    1.1892

    0.2877   1.1909   -0.0376

1.        sqrt(sum(A(:,:).^2))=

    0.3138   1.6531    1.1898

 

2.        >>1./sqrt(sum(A(:,:).^2))=

 

3.1868    0.6049    0.8405

3.        C=A*diag(1./sqrt(sum(A(:,:).^2)))

C =

 

    0.3994  -0.6935    0.9995

    0.9168    0.7204  -0.0316

4.        C=B,这时有C’*C对角线元素等于1.

0 0
原创粉丝点击