• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-07-24
  • 语言: 其他
  • 标签:

资源简介

层次分析法(AHP)源码,新手亲测亲写,写的比较简单,有问题留言回复

资源截图

代码片段和文件信息

% 子函数 层次单排序
function [eigenvalueMaxCRw] = AHPfun(matrix);

%% AHP step1:计算各判断矩阵最大特征值
% [vd] = eig(m); 
% V是以列向量对应的特征向量
% D是对角线上为特征值的矩阵

[MaMad] = eig (matrix);
% 取出对角线元素为特征值
D = diag(Mad); 
[D I] = sort(D ‘descend‘);
% 最大特征值
eigenvalueMax = max(D);

%% AHP step2:计算CR 检验判断矩阵一致性
% 获取判断矩阵自由度
[mn]=size(matrix);
% 录入RI 平均随机一致性指标
RI = [ 0 0 0.58 0.90 1.12 1.24 1.32 1.41 1.45 ] ;
if m > 9
    RIvalue = 1.45 ;
else 
    RIvalue = RI(m) ;
end
% 计算CI
CI = (eigenvalueMax-m)/(m-1) ;
% 计算CR
CR = CI / RIvalue ;

%% AHP step3:层次单排序
% 计算判断矩阵每一行乘积
multValue = ones(1m) ;
for i= 1:m
    for j=1:n
        multValue(1i) = multValue(1i) * matrix(ij) ;
    end
end
% 对乘积以自由度开根号
powValue = ones(1m) ;
for i=1:m
    powValue(1i)=( multValue(1i).^(1/m) );
end
 % 归一化求权重值
 sumValue = sum(powValue2) ;
 w = ones(1m) ;
 for i=1:m
    w(1i)= powValue(1i) / sumValue ;
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1880  2016-09-16 19:55  AHPmain.m
     文件        1034  2016-04-09 10:14  AHPmodel.m
     文件         198  2016-04-09 21:59  matrixMult.m
     文件         220  2016-09-06 20:03  AHP_CR.m
     文件         847  2016-09-06 22:17  AHP_Eigenvector.m
     文件        1717  2015-10-25 18:08  AHP_Weights.m
     文件         453  2015-10-25 21:34  AHP_WeightsSequence.m
     文件        1051  2016-04-09 10:19  AHPfun.m

评论

共有 条评论