- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用Matlab实现AHP的算法
1.MATLAB的基本内容
MATLAB(MATrix LABoratory,矩阵实验室的缩写)是一种特殊用途的计算机程序优化执行工程和科学计算。它开始为旨在执行矩阵数学程式的生活,但多年来它已发展成为一个灵活的计算系统基本上能够解决任何技术问题1.1 MATLAB矩阵
矩阵是MATLAB的基本处理对象,因此根据本文所需,简单介绍所涉及MATLAB矩阵内容。
1.1.1 MATLAB矩阵的建立
1、直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。例如:
A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
也可以用回车键代替分号,按下列方式输入:
A=[1 2 3
4 5 6
7 8 9 ]
2、利用M文件建立矩阵
比较大且复杂的矩阵,可以为它专门建立一个M文件,如同下例。
利用M文件建立矩阵。
启动有关编辑程序或MATLAB文本编辑器,并输入待建矩阵:
MYMAT=[ 111 ,112,113,114,115,116,117,118,119;
211,212,213,214,215,216,217,218,219];
把输入的内容以纯文本方式存盘(设文件名为mymatrix.m)。
在MATLAB命令窗口中输入mymatrix,即运行该M文件,就会自动建立一个名为MYMAT的矩阵,可供以后使用。
1.1.2 矩阵的特征值与特征向量
特征值和特征向量在科学研究和工程计算中都有非常广泛地应用。在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种[14]:
E = eig( A ) :求矩阵A的全部特征值,构成向量E。
[V,D]=eig(A):求矩阵A的全部特征值,构成对角矩阵D,并求A得特征向量构成V的列向量。
[V,D]=eig(A,’nobablance’):与第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,而格式3直接求矩阵A的特征值和特征向量。
例如:
A=[1,1,0.5;1,1,0.25;0.5,0.25,2];
[V,D]=eig(A)
V =
0.7212 0.4443 0.5315
-0.6863 0.5621 0.4615
-0.0937 -0.6976 0.7103
D =
-0.0166 0 0
0 1.4801 0
0 0 2.5365
求得的3个特征值是-0.0166、1.4801和2.5365,各特征值对应的特征向量为V的各列构成的向量。
1.2 MATLAB的M文件
用MATLAB语言编写的程序称为M文件。M文件是由若干MATLAB命令组成在一起构成的,它可以完成某些操作,也可以实现某种算法。
M文件可以根据调用方式的不同分为两类:命令文件(Script File)和函数文件(Function File)。它们的扩展名均为.m。
函数文件由function语句引导,其基本结构为:
function 输出形参表=函数名(输入形参表)
注释说明部分
函数体语句
我们通过举例说明如下:
例2-2 分别建立命令文件和函数文件,将求矩阵的一致性指标CI:CI=(λmax-n)/(n-1)
程序1 建立命令文件并以文件名CI.m存盘:
max=input(please input max:);
n=input(please input n:);
CI=(max-n)/(n-1)
然后在MATLAB的命令窗口中输入CI即可。
程序 2 建立函数文件CI.m。
function c=CI(max,n)
c=(max-n)/(n-1)
然后在MATLAB的命令窗口调用该函数文件。
max=input(please input max:);
n=input(please input n:);
c=CI(max,n)
2.基于MATLAB的AHP实现
2.1 AHP的MATLAB的计算流程框图
根据层次分析法的一般步骤我们得到在MATLAB工具上实现的计算程序流程框图,如图2所示[16]
图 2 以MATLAB实现的层次分析法的计算流程框图
通过流程框图,层次分析的基本步骤如下:
第一步:准则层对目标层的判断矩阵归一化且判断是否满足一致性;
第二步:第一步满足时,将方案层对准则层的判断矩阵归一化并判断其一致性;
第三步:当第一、二步满足时,求方案层的总排序权值与总CR并判断一致性。
2.2 平均随机一致性指标的MATLAB实
文档评论(0)