层次分析法matlab源程序.docx

层次分析法matlab源程序.docx

ID:60742942

大小:19.85 KB

页数:6页

时间:2020-12-13

层次分析法matlab源程序.docx_第1页
层次分析法matlab源程序.docx_第2页
层次分析法matlab源程序.docx_第3页
层次分析法matlab源程序.docx_第4页
层次分析法matlab源程序.docx_第5页
资源描述:

《层次分析法matlab源程序.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、层次分析法matlab源程序层次分析法matlab源程序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));whilek>pi=i+1;x(:,i

2、)=A*y(:,i-1);m(i)=max(x(:,i));y(:,i)=x(:,i)/m(i);k=abs(m(i)-m(i-1));enda=sum(y(:,i));w=y(:,i)/a;t=m(i);disp(w);disp(t);层次分析法matlab源程序%以下就是一致性检验CI=(t-n)/(n-1);RI=[000、520、891、121、261、361、411、461、491、521、541、561、581、59];CR=CI/RI(n);ifCR<0、10disp('此矩阵的一致性

3、可以接受!');disp('CI=');disp(CI);disp('CR=');disp(CR);endfunctionAHPInit1(x,y)%层次分析的初始化%默认只有两层x为准则数,y为方案数%CToT为准则对目标生成的比较阵%EigOfCri为准则层的特征向量%EigOfOpt为选项层的特征向量EigOfCri=zeros(x,1);%准则层的特征向量EigOfOpt=zeros(y,x);dim=x;%维度RI=[000、580、901、121、241、321、411、451、491、

4、51];%RI标准%生成成对比较阵fori=1:dimCToT(i,:)=input('请输入数据:');endCToT%输出层次分析法matlab源程序pause,tempmatrix=zeros(x+1);tempmatrix=AHP1(dim,CToT);EigOfCri=tempmatrix(1:x);ci1=tempmatrix(1+x);EigOfCrici1pause,matrix=cell(x);%元胞数组ci=zeros(1,x);dim=y;fork=1:xmatrix{k}=z

5、eros(dim,dim);%生成成对比较阵fori=1:dimmatrix{k}(i,:)=input('请输入数据:');end%判断该比较阵就是不就是一致阵tempmatrix=zeros(y+1);tempmatrix=AHP1(dim,matrix{k});EigOfOpt(:,k)=tempmatrix(1:y);ci(k)=tempmatrix(y+1);EigOfOpt(:,k)ci(k)层次分析法matlab源程序pause,end%下面进行组合一致性检查RI=[000、580、9

6、01、121、241、321、411、451、491、51];CR=ci1/RI(x)+ci*EigOfCri/RI(y);CRifCR>0、1disp('组合一致性不通过,请重新评分')returnend%下面根据比较阵的结果进行组合result=EigOfOpt*EigOfCri;resultfunctionf=AHP1(dim,CmpMatrix)RI=[000、580、901、121、241、321、411、451、491、51];%判断该比较阵就是不就是一致阵%判断该比较阵就是不就是一致阵

7、[V,D]=eig(CmpMatrix);%求得特征向量与特征值%求出最大特征值与它所对应的特征向量tempNum=D(1,1);pos=1;forh=1:dimifD(h,h)>tempNumtempNum=D(h,h);层次分析法matlab源程序pos=h;endendeigVector=V(:,pos);maxeig=D(pos,pos);maxeigdimCI=(maxeig-dim)/(dim-1);CR=CI/RI(dim);ifCR>0、1disp('准则对目标影响度评分生成的矩阵不

8、就是一致阵,请重新评分')returnendCI%归一化sum=0;forh=1:dimsum=sum+eigVector(h);endsumpause,forh=1:dimeigVector(h)=eigVector(h)/sum;层次分析法matlab源程序endf=[eigVector;CI];

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。