随机一致性指标求解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东南大学《数学实验》报告

学号 11209117 姓名 袁骏杰 成绩 实验内容: 随机一致性指标求解

一 实验目的

1)掌握用matlab 求解随机一致性指标的方法

2)加深对随机一致性指标概念的理解

二 实验内容与要求

用matlab 或C++编写程序分别计算n=3-30时的n 阶矩阵的随机一致性检验指标的值RI 。为保证随机性,要求每阶创造1000个矩阵。

三 实验原理

层次分析发建模问题中,需要用到对矩阵A 的一致性检验,然而对于一般的问题,尤其当考虑实际因素比较多时,很难保证判断矩阵A 为一致矩阵,因此在计算矩阵A 的最大特征值max λ之时,需要检验矩阵A 的一致程度。

令: 1CI max --=

n n

λ 称CI 为一致性指标。显然CI=0是矩阵A 为一致矩阵的必要条件。可以看出CI 值越大,A 的不一致程度越严重。

但是对于一个具体的矩阵来书,很难说其一致性指标CI 到底是很大还是很小,Saaty 针对上述定义的不严格性,提出了用随机一致性指标RI 来检验判断矩阵A 是否具有满意的一致性。

RI 是按照下面的方式选取的:

对于固定的n ,随机构造正互反矩阵A ’,他的元素a ij ’是从1~9及其倒数中随机选取的,因此A ’的一致性一般都是很差的,取充分大的子样儿得到A ’最大特征值的平均值k ,定义:

1R --=

n n k I RI CI CR =

CR 称为随机一致性比率。RI 称为随机一致性指标。当CR<0.1时,一般认为矩阵A 的不一致程度再容许范围之内,可以用其特征向量作为权向量。

求解随机一致性指标可按如下步骤:

构造1000个n 阶随机正互反矩阵A ’(元素0~9及其倒数)

求1000个矩阵的最大特征值的平均值k

计算RI 的值:

1R --=

n n k I

四 主要实验代码及结果

M 文件

function RI=ri(n)

% 输入n 值

n=ceil(n);

if n<=0, error('n 必须为正数');

end

if n==0 || n==1, RI=0;

return;

end

%初始化

times=1000;

scaler=[9 8 7 6 5 4 3 2 1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9];

A=zeros(n);

lamda=zeros(times,1); %产生1000组随机正互反矩阵

for num=1:times

rank=ceil(17*rand(n)); % 产生一组n 阶正互反矩阵

for i=1:n

for j=i:n

A(i,j)=scaler(rank(i,j));

A(j,i)=1/A(i,j);

A(i,i)=1;

end

end

rigenvector=eig(A); %求最大特征值

lamda(num)=max(rigenvector); %求1000组最大特征值平均值

end

lamda_average=sum(lamda)/times;

RI=(lamda_average-n)/(n-1); %求RI 的值

运行程序

for n=3:30

RI(n)=ri(n);

RI(n)

end

运行结果

五实验总结

本次实验通过实践学习了Matlab编程的基本规则以及自定义函数的调用方法。实验虽然简单,但我也从中强化了层次分析法中权向量求解的概念,进一步掌握了随机一致性指标求解方法以及随机一致性检验的方法。

相关文档
最新文档