PDA

查看完整版本 : [MATLAB数学相关] 想用matlab求一个稀疏矩阵的特征值,怎么求?求高手!


huqianqian
2011-04-29, 13:56
我现在想在matlab里求一个稀疏矩阵Q的特征值E=β²,我最终是求β的值,我知道用eigs就能求Q的特征值,可问题是我的Q是一个复数矩阵,那么E,β也都是复数,β的实部小于k,根据E=β²,那E得实部大约也在k²附近,矩阵大约是40000*40000那么大,我想用eigs找出10个在k²附近的特征值可有高手知道怎么编程?:confused:
我也想过把Q用full转换成满矩阵,可是我的计算机内存2G根本算不起来,我上网查了一下编一个语句,请专家帮我看看对不对啊,
sigma=k0^2;
opts.maxit=1000;
E=eigs(Q,10,sigma);
sb=abs(real(sqrt(E))) %β的实部
xb=abs(imag(sqrt(E)))%β的虚部
我知道实数矩阵是可以这么编,可我现在是复数矩阵,可以这样编吗?感觉结果跟我理论上的结果相差很大,不是我想要的,要谁可以帮我看看啊,非常感激,我都琢磨一个多星期了都没什么成效!:(