层次分析法的-MATLAB代码

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

function[]=cengci()disp('请输入准则层判断矩阵A(n阶)');A=input('A=');[n,n]=size(A);[V,D]=eig(A);%求得特征向量和特征值%求出最大特征值和它所对应的特征向量tempNum=D(1,1);pos=1;forh=1:nifD(h,h)tempNumtempNum=D(h,h);pos=h;endendw=abs(V(:,pos));w=w/sum(w);t=D(pos,pos);disp('准则层特征向量w=');disp(w);disp('准则层最大特征根t=');disp(t);%以下是一致性检验CI=(t-n)/(n-1);RI=[000.520.891.121.261.361.411.461.491.521.541.561.581.591.601.611.6151.621.63];CR=CI/RI(n);ifCR0.10disp('此矩阵的一致性可以接受!');disp('CI=');disp(CI);disp('CR=');disp(CR);elsedisp('此矩阵的一致性验证失败,请重新进行评分!');enddisp('请输入方案层各因素对准则层各因素权重的成对比较阵');fori=1:ndisp('请输入第');disp(i);disp('个准则层因素的判断矩阵B');disp(i);G=input('=');[m,m]=size(G);[V,D]=eig(G);%求得特征向量和特征值%求出最大特征值和它所对应的特征向量tempNum=D(1,1);pos=1;forh=1:mifD(h,h)tempNumtempNum=D(h,h);pos=h;endendeval(['W',num2str(i),'=abs(V(:,pos))/sum(abs(V(:,pos)))']);eval(['T',num2str(i),'=D(pos,pos)']);temp=D(pos,pos);%以下是一致性检验CI=(temp-m)/(m-1);RI=[000.520.891.121.261.361.411.461.491.521.541.561.581.591.601.611.6151.621.63];CR=CI/RI(m);ifCR0.10disp('此矩阵的一致性可以接受!');elsedisp('此矩阵的一致性验证失败,请重新进行评分并在clear后重新运行程序!');return;endeval(['B',num2str(i),'=G']);endg=1:n;[k,k]=size(B1);fori=1:ks=0;disp('第');disp(i);disp('个方案的总排序权值为');forj=1:nchange=eval(['W',num2str(j),]);s=s+change(i,1)*w(j,1);endeval(['P',num2str(i),'=sum']);endend

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功