如何用matlab求矩阵最大特征值的特征向量

问题描述:

如何用matlab求矩阵最大特征值的特征向量
就只求最大特征值的特征向量,不是全部的.
近似值就可以.
我只有30分,通通拿出来了,55555555555哪位大虾帮帮忙,再弄不出我要疯鸟.
不要全部的特征向量,只最大特征值的
用层析分析法到最后这边卡住了。
出来的大多一些负数和复数
1个回答 分类:综合 2014-10-31

问题解答:

我来补答
这有个我们以前的MATLAB幂法求特征值和特征响量的程序:
[maxnorm.m]
function t=maxnorm(a)
%求数列中按模最大的分量
n=length(a);
t=0;
for i=1:n
if abs(a(i)/max(abs(a)))>=1
t=a(i);
end
end
function [mt,my]=maxtr(a,eps)
%用幂法求矩阵的主特征值和对应的特征向量
n=length(a);
x0=diag(ones(n));
k=1
x=a*x0
while norm(x-x0)>eps
k=k+1
q=x;
y=x/maxnorm(x)
x=a*y;
x0=q;
end
mt=maxnorm(x)
my=y
[main1.m]
a=[3 2;4 5]
maxtr(a,0.0001)
[invmaxtr.m]
function [mx,mt,my]=invmaxtr(a,eps)
%求矩阵按模最小的特征值和对应的特征向量
n=length(a);
x0=diag(ones(n));
x=inv(a)*x0;
k=0
while norm(x-x0)>eps
k=k+1
q=x;
y=x/maxnorm(x)
x=inv(a)*y;
x0=q;
end
mt=1/maxnorm(x)
my=y
[main.m]
a=[3 2;4 5]
invmaxtr(a)
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识