<p>大家好,我用SAS8.1计算实对称矩阵A=<br/> 161.079031576618 208.250301732992 -64.1043482618227<br/> 208.250301732992 273.792923146327 -84.8950989429858<br/> -64.1043482618227 -84.8950989429858 26.9151793309588<br/>的全部特征值和特征向量,方法是将上述数据输入数据表然后做多变量分析的主成分分析,SAS先将上述数据进行标准差标准化,然后给出标准化变量的所有特征值和特征向量,如下:<br/> Correlation Matrix<br/> VAR1 VAR2 VAR3<br/> VAR1 1.0000 1.0000 -.9999<br/> VAR2 1.0000 1.0000 -1.000<br/> VAR3 -.9999 -1.000 1.0000<br/> Eigenvalues of the Correlation Matrix<br/> Eigenvalue Difference Proportion Cumulative<br/> 1 2.99990937 2.99981874 1.0000 1.0000<br/> 2 0.00009063 0.00009063 0.0000 1.0000<br/> 3 0.00000000 0.0000 1.0000<br/> Eigenvectors<br/> Prin1 Prin2 Prin3<br/> VAR1 0.577343 0.791900 -.198921<br/> VAR2 0.577358 -.223676 0.785256<br/> VAR3 -.577351 0.568210 0.586348<br/>我根据求实对称矩阵所有特征值和特征向量的雅可比法自己编写了程序,(原理见 <a href="http://www.tyut.edu.cn/kecheng/jisff/dzja/ch4/ch4-2.htm">http://www.tyut.edu.cn/kecheng/jisff/dzja/ch4/ch4-2.htm</a>),得到结果如下:<br/>相关阵:<br/> 1.000000 0.999953 -0.999916<br/> 0.999953 1.000000 -0.999995<br/> -0.999916 -0.999995 1.000000<br/>特征根:<br/> 2.999909<br/> 0.000091<br/> 0.000000<br/>特征向量:<br/> -0.577343 -0.791901 -0.198919<br/> -0.577358 0.223678 0.785256<br/> 0.577351 -0.568209 0.586349<br/>测试特征值和特征向量:<br/> A - λi 特征向量<br/> 1.000000 0.999953 -0.999916 | -0.198919 -0.791901 -0.577343<br/> 0.999953 0.999909 -0.999995 | 0.785256 0.223678 -0.577358<br/> -0.999916 -0.999995 -1.999909 | 0.586349 -0.568209 0.577351<br/>根据特征根和特征向量的定义进行特征根和特征向量的测试(A - λi横行的每个数值与特征向量的i列的每个值相乘求和,每个和数理论上应当等于0),结果如下:<br/> i=1: 1.2565457029913E-10<br/> i=2: -1.26842518096987E-10<br/> i=3: 1.70247930336709E-11<br/>可以看出,三个得值也很趋近于0,仅从数值方面考虑应该是没问题的。<br/>在我的程序中,取得旋转角度时我用的是tg2θ=2tgθ/[1-(tgθ)^2],根据上面的原理的(10)式子求出tgθ的两个值,然后解一元二次方程,求出tgθ,只取tgθ&gt;=0时候的θ值,进一步求出Sinθ和Cosθ进行后面的运算。<br/>上面的SAS运算结果和我的结果在特征值方面是相同的,与特征值对应的特征向量的绝对值也是相同的,可就是有部分向量的符号不同,请问大家这是为什么?是我选取旋转角度θ的方法出问题了吗?望大家给指点一下,在此先谢谢各位了!<br/></p>
[此贴子已经被作者于2008-6-3 9:52:11编辑过]