基于matlab的ahp实现,基于MATLAB的AHP实现(最终版)

《基于MATLAB的AHP实现.doc》由会员分享,可在线阅读全文,更多相关《基于MATLAB的AHP实现(最终版)》请在www.woc88.com上搜索。

1、,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];[max(),wA]=maxeigvalvec(A);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[RIA,CIA]=sglsortexamine(max(),A);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max。

2、次分析法原理实用决策方法[M]天津大学出版社,:[]刘卫国MATLAB程序设计教程[M]中国水利水电出版社,:,[]陈晓江层次分析法中平均随机一致性指标的数学软件实现[J]九江职业技术学院学报,():[]董守贵基于MATLAB的层次分析法实现[J]航空兵器,():致谢本文是在杨涤尘教授的悉心指导下完成的在整个本科论文完成过程中,我得到了杨老师的精心指导,他严谨的治学态度、渊博的学识、精湛的学术造诣、诲人不倦的精神以及虚怀若谷的气度给我留下了深刻的印象,使我受益匪浅,将永远激励我在以后的学习和工作中不懈努力、不断进步谨此,我向杨老师致以最诚挚的谢意和最美好的祝福,祝愿老师身体健康,工作顺利,桃李满天下!特别要感谢我的父母和亲人,他们的关爱和鼓励是我一生努力前进的巨大动力感谢一切曾经关心过我、帮助过我、教导过我的人们最后感谢论文评审委员会的专家和老师们百忙之中对本论文的认真指正!谨以此文献给他们!赵美云年月于湖南人文科技学院地用于科学研究和解决各种具体的实际问。l);vecinit=eigvec(:,index);%最大特征值对应的特征向量w=vecinitsum(vecinit)%特征向量归一化()定义sglsortexaminem函数来实现层次单排序的一致性检验function[RI,CI]=sglsortexamine(maxeigval,A)%层次分析法单排序一致性检验%maxeigval为最大特征值,A为判断矩阵n=size(A,);RIT=[,,,,,,,,,,];RI=RIT(n);CI=(maxeigvaln)(n);CR=CIRI;ifCRgt=dis([inut('矩阵没通过一致性检验,请重新调整判断矩阵')]elsedis([inut('矩阵通过一致性检验')]);end()定义tolsortvecm函数计算层次总排序的权重并进行一致性检验functiontw=tolsortvec(utw,dw,CIC,RIC)%求层次总排序权重并进行一致性检验%utw为上一层因素的总排序权重行向量%dw为下一层因素相对于上一层各因素的层次单排序权重矩阵%CIC为一致性指标列向量%RIC为随机一致性指标列向量tw=dw*utw;CR=utw'*CIC(utw'*RIC);ifCRgt=dis([inut('层次总排序没通过一致性检验,请重新调整判断矩阵')]);elsedis([inut('层次总排序通过一致性检验')]);end%mainm主程序clear;A=[,,,,,;,,,,,;,,,,,;,,,,,;,,,,,;,,,,。

3、足时,将方案层对准则层的判断矩阵归一化并判断其一致性;第三步:当第一、二步满足时,求方案层的总排序权值与总CR并判断一致性.平均随机一致性指标的MATLAB实现运用层次分析法决策者需要通过反复地解决决策问题,将同一层次的各元素与上一层次中某一准则的重要性进行比较,从而构造出两两判断比较矩阵A=(aij)nn(称为成对比较矩阵)前面已经描述了九级标度法,此处运用其他描述,则这些成对比较矩阵应满足如下条件:(l)ijagt()ijajia=l()iia=l输入准则层层数输入准则层对目标层判断矩阵元素ija判断矩阵归一化计算CRlt输入准则层第j个准则包含的方案数量n判断矩阵归一化计算输入方案层第j个准则层的判断矩阵元素bijCRlt另m=;n=输入方案层第m个准则层的相关矩阵元素计算权值矩阵权值aF的计算总CR计算开始结束CRlt按照事物逻辑要求,该矩阵还应具备一致性,即满足:ijajka=ika前面已经给出由于客观事物的复杂性与决策者的认识的多样性,实际问题。

4、矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有种[]:E=eig(A):求矩阵A的全部特征值,构成向量E[V,D]=eig(A):求矩阵A的全部特征值,构成对角矩阵D,并求A得特征向量构成V的列向量[V,D]=eig(A,’nobablance’):与第种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式直接求矩阵A的特征值和特征向量例如:A=[,,;,,;,,];[V,D]=eig(A)V=D=求得的个特征值是、和,各特征值对应的特征向量为V的各列构成的向量MATLAB的M文件用MATLAB语言编写的程序称为M文件M文件是由若干MATLAB命令组成在一起构成的,它可以完成某些操作,也可以实现某种算法M文件可以根据调用方式的不同分为两类:命令文件(ScritFile)和函数文件(FunctionFile)它们的扩展名均为m函数文件由function语句引导,其基本结构为:function输出形参表=函数名(输入形参表)注释说明部分函。ec(wA,dw,CIC,RIC)';n=length(A);[MAX,CHOICE]=max(n);%最佳选择CHOICEMATLAB运行结果如下:maxeigval=w=maxeigval=w=maxeigval=w=maxeigval=w=maxeigval=w=maxeigval=w=maxeigval=w=矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验层次总排序通过一致性检验CHOICE=由此分析得,通过层次分析法并且结合MATLAB,该生很容易便能作出了决策,选择工作而且容易得出表的层次总排序:表层次总排序BBBBBB层次总排序CCC.结束语利用层次分析法AHP,并结合被称为第四代计算机语言的MATLAB工具软件,来解决多目标、多准则的问题,大大缩减了决策者计算复杂矩阵的时间目前很多领域都采用这种方法,如经济计划和管理、能源政策和分配、行为科学等由此可见,层次分析法AHP结合MATLAB时很有发展前景的但是层次分析法也有其局限性:()AHP方法中所用的指标体系需要有专家系统的支持,如果给出的指标不合理,得到的结果也就不准确;()AHP方法中经行多层比较的时候需要给出一致性比较,如果不满足一致性指标要求,则AHP方法就失去了作用因此,需要更多的研究人员去探讨和解决BC参考文献[]朱建军层次分析法的若干问题研究及应用东北大学博士学位论文:[]SaatyTLJMathPsychol,():[]Sa。

5、(A)%求最大特征值及对应的归一化特征向量%A为判断矩阵[eigvec,eigval]=eig(A);eigval=diag(eigval);%特征向量eigvalmag=imag(eigval);realind=find(eigvalmagltes);realeigval=eigval(realind);%实特征根maxeigval=max(realeigval)%最大特征值index=find(eigval==maxeigval);vecinit=eigvec(:,index);%最大特征值对应的特征向量w=vecinitsum(vecinit)%特征向量归一化()定义sglsortexaminem函数来实现层次单排序的一致性检验function[RI,CI]=sglsortexamine(maxeigval,A)%层次分析法单排序一致性检验%maxeigval为最大特征值,A为判断矩阵n=size(A,);RIT=[,,,,,,,,,,];RI=RI。

6、题许多科技工作者选用MATLAB做为计算工具,避免了繁琐的底层编程,从而可以把主要精力和时间花在科学研究和解决实际问题是上,提高了工作效率MATLAB矩阵矩阵是MATLAB的基本处理对象,因此根据本文所需,简单介绍所涉及MATLAB矩阵内容MATLAB矩阵的建立、直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素例如:A=[;;]A=也可以用回车键代替分号,按下列方式输入:A=[]、利用M文件建立矩阵比较大且复杂的矩阵,可以为它专门建立一个M文件,如同下例利用M文件建立矩阵启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵:MYMAT=[,,,,,,,,;,,,,,,,,];把输入的内容以纯文本方式存盘(设文件名为mymatrixm)在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用矩阵的特征值与特征向量特征值和特征向量在科学研究和工程计算中都有非常广泛地应用在MATLAB中,计算。

7、(),B);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max(),B);dw=zeros(,);dw(:,)=wB;dw(:,)=wB;dw(:,)=wB;dw(:,)=wB;dw(:,)=wB;dw(:,)=wB;CIC=[CIB;CIB;CIB;CIB;CIB;CIB];RIC=[RIB;RIB;RIB;RIB;RIB;RIB];tw=tolsortvec(wA,dw,CIC,RIC)';n=length(A);[MAX,CHOICE]=max(n);%最佳选择CHOICEMATLAB运行结果如下:maxeigval=w=maxeigval=w=maxeigval=w=maxeigval=w=maxeigval=w=maxeigval=w=maxeigval=w=矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过一致性检验矩阵通过。,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];B=[,,;,,;,,];[max(),wA]=maxeigvalvec(A);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[max(),wB]=maxeigvalvec(B);[RIA,CIA]=sglsortexamine(max(),A);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max(),B);[RIB,CIB]=sglsortexamine(max(),B);dw=zeros(,);dw(:,)=wB;dw(:,)=wB;dw(:,)=wB;dw(:,)=wB;dw(:,)=wB;dw(:,)=wB;CIC=[CIB;CIB;CIB;CIB;CIB;CIB];RIC=[RIB;RIB;RIB;RIB;RIB;RIB];tw=tolsortv。

8、一致性检验层次总排序通过一致性检验CHOICE=由此分析得,通过层次分析法并且结合MATLAB,该生很容易便能作出了决策,选择工作而且容易得出表的层次总排序:表层次总排序BBBBBB层次总排序CCC.结束语利用层次分析法AHP,并结合被称为第四代计算机语言的MATLAB工具软件,来解决多目标、多准则的问题,大大缩减了决策者计算复杂矩阵的时间目前很多领域都采用这种方法,如经济计划和管理、能源政策和分配、行为科学等由此可见,层次分析法AHP结合MATLAB时很有发展前景的但是层次分析法也有其局限性:()AHP方法中所用的指标体系需要有专家系统的支持,如果给出的指标不合理,得到的结果也就不准确;()AHP方法中经行多层比较的时候需要给出一致性比较,如果不满足一致性指标要求,则AHP方法就失去了作用因此,需要更多的研究人员去探讨和解决BC参考文献[]朱建军层次分析法的若干问题研究及应用东北大学博士学位论文:[]SaatyTLJMathPsychol,():[]Sa。

9、+iii+iLK=+iileaseinutlargesteigenvalue:WB=+iii+iLK=+iileaseinutlargesteigenvalue:WB=+iii+iLK=+iileaseinutlargesteigenvalue:WB=LK=leaseinutlargesteigenvalue:WB=i+i+iiLK=+iileaseinutlargesteigenvalue:B的CR通过一致性检验!B的CR通过一致性检验!B的CR通过一致性检验!B的CR通过一致性检验!B的CR通过一致性检验!B的CR通过一致性检验!准则层对目标层权向量方案层对准则层权向量E=方案层组合权向量组合一致性比率CR通过一致性检验!CHOICE=)、M文件法:根据第三章节的层次分析法各环节的MATLAB实现定义如下三个函数:()定义maxeigvalvecm来实现最大特征根及对应的归一化特征向量function[maxeigval,w]=maxeigvalvec。tyTL,GholamnezhadAHEnviromentandPlanningB():[]SaatyTL,BennettJPBehavioralScience():[]MitchellKH,SoyeMPMathematicsandComuterSimulation,():[]李祚泳层次分析法(AHP)及其最新进展[J]成都信息工程学院学报,():[]SaatyTLTheAnalyticHierarchyProcess[M]NewYorkMcGrawHill,Lnc:[]张崎,西村昂提高层次分析法评价精度的几种方法[J]系统工程与实践,():[]杜栋论AHP的标度评价[J]运筹与管理,,():[]胡明甫AHP层次分析法及MATLAB的应用研究[J]钢铁技术,():[]刘新宪,朱道立选择与判断AHP层次分析法[M]决策上海科学普及出版社,:[]焦树峰AHP法中平均随机一致性指标的算法及MATLAB实现[J]太原师范学院学报(自然科学版),,():[]许树柏层次分析法原理实用决策方法[M]天津大学出版社,:[]刘卫国MATLAB程序设计教程[M]中国水利水电出版社,:,[]陈晓江层次分析法中平均随机一致性指标的数学软件实现[J]九江职业技术学院学报,():[]董守贵基于MATLAB的层次分析法实现[J]航空兵器,():致谢本文是在杨涤尘教授的悉心指导下完成的在整个本科论文完成过程中,我得到了杨老师的精心指导,他严谨的治学态度、渊博的学识、精湛的学术造诣、诲人不倦的精神以及虚怀若谷的气度。

10、T(n);CI=(maxeigvaln)(n);CR=CIRI;ifCRgt=dis([inut('矩阵没通过一致性检验,请重新调整判断矩阵')]elsedis([inut('矩阵通过一致性检验')]);end()定义tolsortvecm函数计算层次总排序的权重并进行一致性检验functiontw=tolsortvec(utw,dw,CIC,RIC)%求层次总排序权重并进行一致性检验%utw为上一层因素的总排序权重行向量%dw为下一层因素相对于上一层各因素的层次单排序权重矩阵%CIC为一致性指标列向量%RIC为随机一致性指标列向量tw=dw*utw;CR=utw'*CIC(utw'*RIC);ifCRgt=dis([inut('层次总排序没通过一致性检验,请重新调整判断矩阵')]);elsedis([inut('层次总排序通过一致性检验')]);end%mainm主程序clear;A=[,,,,,;,,,,,;,,,,,;,,,,,;,,,,,;,,,,。

11、数体语句我们通过举例说明如下:例分别建立命令文件和函数文件,将求矩阵的一致性指标CI:CI=(λmaxn)(n)程序建立命令文件并以文件名CIm存盘:max=inut('leaseinutmax:');n=inut('leaseinutn:');CI=(maxn)(n)然后在MATLAB的命令窗口中输入CI即可程序建立函数文件CImfunctionc=CI(max,n)c=(maxn)(n)然后在MATLAB的命令窗口调用该函数文件max=inut('leaseinutmax:');n=inut('leaseinutn:');c=CI(max,n).基于MATLAB的AHP实现.AHP的MATLAB的计算流程框图根据层次分析法的一般步骤我们得到在MATLAB工具上实现的计算程序流程框图,如图所示[]图以MATLAB实现的层次分析法的计算流程框图通过流程框图,层次分析的基本步骤如下:第一步:准则层对目标层的判断矩阵归一化且判断是否满足一致性;第二步:第一步满 。

12、tyTL,GholamnezhadAHEnviromentandPlanningB():[]SaatyTL,BennettJPBehavioralScience():[]MitchellKH,SoyeMPMathematicsandComuterSimulation,():[]李祚泳层次分析法(AHP)及其最新进展[J]成都信息工程学院学报,():[]SaatyTLTheAnalyticHierarchyProcess[M]NewYorkMcGrawHill,Lnc:[]张崎,西村昂提高层次分析法评价精度的几种方法[J]系统工程与实践,():[]杜栋论AHP的标度评价[J]运筹与管理,,():[]胡明甫AHP层次分析法及MATLAB的应用研究[J]钢铁技术,():[]刘新宪,朱道立选择与判断AHP层次分析法[M]决策上海科学普及出版社,:[]焦树峰AHP法中平均随机一致性指标的算法及MATLAB实现[J]太原师范学院学报(自然科学版),,():[]许树柏层给我留下了深刻的印象,使我受益匪浅,将永远激励我在以后的学习和工作中不懈努力、不断进步谨此,我向杨老师致以最诚挚的谢意和最美好的祝福,祝愿老师身体健康,工作顺利,桃李满天下!特别要感谢我的父母和亲人,他们的关爱和鼓励是我一生努力前进的巨大动力感谢一切曾经关心过我、帮助过我、教导过我的人们最后感谢论文评审委员会的专家和老师们百忙之中对本论文的认真指正!谨以此文献给他们!赵美云年月于湖南人文科技学院地用于科学研究和解决各种具体的实际问题许多科技工作者选用MATLAB做为计算工具,避免了繁琐的底层编程,从而可以把主要精力和时间花在科学研究和解决实际问题是上,提高了工作效率MATLAB矩阵矩阵是MATLAB的基本处理对象,因此根据本文所需,简单介绍所涉及MATLAB矩阵内容MATLAB矩阵的建立、直接输入法最简单的建立矩阵的方法是从键盘直接输入矩阵的元素例如:A=[;;]A=也可以用回车键代替分号,按下列方式输入:A=[]、利用M文件建立矩阵比较大且复杂的矩阵,可以为它专门建立一个M文件,如同下例利用M文件建立矩阵启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵:MYMAT=[,,,,,,,,;,,,,,,,,];把输入的内容以纯文本方式存盘(设文件名为mymatrixm)在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用矩阵的特征值与特征向量特征值和特征向量在科学研究和工程计算中都有非常广泛地应用在MATLAB中,计算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值