matlab层次分析代码

clc
a = [1,1,1,4,1,1/2
    1,1,2,4,1,1/2
    1,1/2,1,5,3,1/2
    1/4,1/4,1/5,1,1/3,1/3
    1,1,1/3,3,1,1
    2,2,2,3,3,1];
[x,y] = eig(a);%求矩阵a的全部特征值,构成对角阵x,并且求出a的特征向量构成y的列向量
eigenvalue = diag(y);%变成对角矩阵
lamda = eigenvalue(1);
ci1 = (lamda-6)/5;
cr1 = ci1/1.24;
w1 = x(:,1)/sum(x(:,1));%W1准则层权值   W21,W22为赋值
b1 = [1,1/4,1/2;4,1,3;2,1/3,1];
[x,y] = eig(b1);
eigenvalue = diag(y);
lamda = eigenvalue(1);
ci21 = (lamda-3)/2;
cr21 = ci21/0.58;
w21 = x(:,1)/sum(x(:,1));
b2 = [1 1/4 1/5 ;4 1 1/2;5 2 1];
[x,y] = eig(b2);
eigenvalue = diag(y);
lamda = eigenvalue(1);
ci22 = (lamda-3)/2;
cr22 = ci22/0.58;
w22 = x(:,1)/sum(x(:,1));
b3 = [1 3 1/3;1/3 1 1/7;3 7 1];
[x,y] = eig(b3);
eigenvalue = diag(y);
lamda = eigenvalue(1);
ci23 = (lamda-3)/2;
cr23 = ci23/0.58;
w23 = x(:,1)/sum(x(:,1));
b4 = [1 1/3 5;3 1 7;1/5 1/7 1];
[x,y] = eig(b4);
eigenvalue = diag(y);
lamda = eigenvalue(1);
ci24 = (lamda-3)/2;
cr24 = ci24/0.58;
w24 = x(:,1)/sum(x(:,1));
b5 = [1 1 7;1 1 7;1/7 1/7 1];
[x,y] = eig(b5);
eigenvalue = diag(y);
lamda = eigenvalue(1);
ci25 = (lamda-3)/2;
cr25 = ci25/0.58;
w25 = x(:,1)/sum(x(:,1));
b6 = [1 7 9;1/7 1 1;1/9 1 1];
[x,y] = eig(b6);
eigenvalue = diag(y);
lamda = eigenvalue(1);
ci26 = (lamda-3)/2;
cr26 = ci26/0.58;
w26 = x(:,1)/sum(x(:,1));
w_sum = [w21,w22,w23,w24,w25,w26]*w1;%最终3份工作的评分
ci = [ci21,ci22,ci23,ci24,ci25,ci26];
cr = ci*w1/sum(0.58*w1);
% diag([8,5,2])
% ans =
% 
%      8     0     0
%      0     5     0
%      0     0     2
%  v = 1 
%  diag([8,5,2],v)  
%  ans =
% 
%      0     8     0     0
%      0     0     5     0
%      0     0     0     2
%      0     0     0     0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值