Matlab 层次分析法 求解权重矩阵

注:应用程序时,只需要将评判矩阵,也就是判断矩阵,输入到程序中即可,即修改A矩阵,其他地方都不需要修改。

        首先进行对矩阵一致性的判断,只有通过一致性检验的矩阵,得到的权重才更可靠,涉及较少变量(如2个变量)直接手算。


Matlab代码如下:

% %AHP权重计算MATLAB程序
% %数据读入
clc;
clear all;
A=[1 2 6;1/2 1 4;1/6 1/4 1];
% %一致性检验和权向量计算
[n,n]=size(A);
[v,d]=eig(A);
r=d(1,1);
CI=(r-n)/(n-1);
RI=[0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 1.49 1.52 1.54 1.56 1.58 1.59];
CR=CI/RI(n);
if(CR<0.10)
    CR_RESULT='通过';
else
    CR_RESULT='不通过';
end
% %权向量计算
w=v(:,1)/sum(v(:,1));
w=w';
% %结果给出
disp('该判断矩阵权向量计算报告:');
disp(['一致性指标:' num2str(CI)]);
disp(['一致性比例:' num2str(CR)]);
disp(['一致性检验结果:' CR_RESULT]);
disp(['特征值:' num2str(r)]);
disp(['特征向量:' num2str(w)]);

  • 5
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值