加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

用matlab求矩阵权重

(2012-05-01 22:04:07)
标签:

数学

矩阵

权重

特征值

教育

 在层次分析法中,我们最后要得到矩阵的权重,可以利用下面的程序进行求值。

例如,我们要求矩阵

A=[1 2 4 6;2 5 1 4;1 3 5 1;4 6 2 1]的权重。

程序为:

  A=[1 2 4 6;2 5 1 4;1 3 5 1;4 6 2 1]

[x,y]=eig(A)     %求得x为特征向量矩阵,y为特征值矩阵

[m m]=find(y==max(max(y)))      %找到y中对应最大的特征值所在列

w=A(:,m)/sum(A(:,m))      %w即为矩阵A的权重。

用matlab求矩阵A的权重,以下为matlab中运行过程

>> A=[1 3/7 4/7 2/7 2/7 4/7

      7/3 4/3 2/3 7/3 2/3 4/3

      7/4 3/4 1/2 7/4 1/2 1

      7/2 3/2 7/2 2

      3/7 4/7 2/7 2/7 4/7

      7/2 3/2 7/2 2

      7/4 3/4 1/2 7/4 1/2 1];

>> [x,y]=eig(A)

 

=

 

   -0.7019    0.1621   -0.4125   -0.0066   -0.7019   -0.7019    0.7019

    0.2730    0.3782    0.4585    0.6391    0.2730    0.2730   -0.2730

    0.2047    0.2836    0.2291   -0.2293    0.2047    0.2047   -0.2047

    0.4094    0.5673    0.4582   -0.4585    0.4094    0.4094   -0.4094

    0.1170    0.1621   -0.3077    0.2567    0.1170    0.1170   -0.1170

    0.4094    0.5673    0.4582   -0.4585    0.4094    0.4094   -0.4094

    0.2047    0.2836    0.2291   -0.2293    0.2047    0.2047   -0.2047

 

 

=

 

                                                         0

            7.0000                                         0

                   -0.0000                                 0

                            0.0000                         0

                                    0.0000                 0

                                            0.0000         0

                                                         0

 

>>  [m m]=find(y==max(max(y)))

 

=

 

     2

 

 

=

 

     2

 

>>  w=A(:,m)/sum(A(:,m))

 

=

 

    0.0674

    0.1573

    0.1180

    0.2360

    0.0674

    0.2360

    0.1180

 

>>

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有