计算正互反矩阵的特征值及特征向量

最近闲来无事,写点关于matlab在矩阵计算应用中的实例和大家分享分享

目的:计算正互反矩阵的特征值及特征向量

其实我们可以应用matlab自带的库函数eig很轻松的计算出某个矩阵的特征值和特征向量,具体用法如下:

例如:

 

则可以由[W,X]=eig(A)直接求出A的特征值和特征向量。

下面采用和法编程近似计算矩阵的特征值及特征向量:

代码:

A=[1 2 6;1/2 1 4;1/6 1/4 1];

B=zeros(3,3);

w1=zeros(3,1);

w2=zeros(3,1);

w3=zeros(3,1);

for j=1:3

    w1(j,1)=A(j,1)/sum(A(:,1));

end

for j=1:3

    w2(j,1)=A(j,2)/sum(A(:,2));

end

for j=1:3

    w3(j,1)=A(j,3)/sum(A(:,3));;

end

B(:,1)=w1;

B(:,2)=w2;

B(:,3)=w3;

C=zeros(1,3);

for k=1:3;

    C(1,1)=C(1,1)+B(1,k);

end

for k=1:3;

    C(1,2)=C(1,2)+B(2,k);

end

for k=1:3;

    C(1,3)=C(1,3)+B(3,k);

end

C=C';

W=zeros(3,1);

for j=1:3

    W(j,1)=C(j,1)/sum(C);

end

W   %特征向量

result=0;

N=zeros(3,1);

M=A*W;

for k=1:3

   N(k,1)=M(k,1)/W(k,1);

end

X=sum(N)/3     %特征根

这种方法在某些时候还是特别好使的

 

 

posted @ 2013-12-02 15:01  龙须子  阅读(5129)  评论(0编辑  收藏  举报