A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1.构建层次结构模型

构建成对比较矩阵

不一致性检验(程序可进行一致性检验。。。略)

2.实际问题解决

关于Bn是B1,B2,B2对An的权重(Bn与B1,B2,B2,不是一个意思。。。。。。可求对sum(Bi*An)(i...n)目标的权重)



  • %层次分析法(AHP)



  • disp('请输入判断矩阵A(n阶)');



  • A = input('A=');



  • [n,n] = size(A);



  • x = ones(n,100);



  • y = ones(n,100);



  • m = zeros(1,100);



  • m(1) = max(x(:,1));



  • y(:,1) = x(:,1);



  • x(:,2) = A*y(:,1);



  • m(2) = max(x(:,2));



  • y(:,2) = x(:,2)/m(2);



  • p=0.0001; i=2; k=abs(m(2)-m(1));



  • while k>p



  •     i=i+1;



  •     x(:,i) = A*y(:,i-1);



  •     m(i) = max(x(:,i));



  •     y(:,i) = x(:,i)/m(i);



  •     k=abs(m(i)-m(i-1));



  • end



  • a = sum(y(:,i));



  • w = y(:,i)/a;



  • t = m(i);



  • disp(w);



  • %一致性检验



  • CI = (t-n)/(n-1);



  • RI = [0 0 0.52 0.89 1.12 1.36 1.41 1.46 1.49 1.52 1.54 1.56 1.58 1.59];



  • CR = CI/RI(n);



  • if CR<0.10



  •     disp('此矩阵一致性可以接受!');



  •     disp('CI=');disp(CI);



  •     disp('CR=');disp(CR);



  • end




1 个回复

正序浏览
奈斯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马