数学建模社区-数学中国
标题:
计算判断矩阵的随机一致性指标RI
[打印本页]
作者:
2863358207
时间:
2020-4-8 17:37
标题:
计算判断矩阵的随机一致性指标RI
在层次分析法中,我们都要用到判断矩阵。而判断矩阵一致性的检验有一个很重要的指标:RI,RI的大小仅仅与矩阵的阶数有关。
这里给出了一段求矩阵的阶数在3-30之间的RI的代码。由于样本有限,每一次计算出来的RI不一样,但是波动范围很小,误差小于0.01。
RI=zeros(1,28);%RI=[0 0 0 0 ......0 0 0 0]
enum=[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];%确定随机抽取元素的范围
for n=3:30
Vmax=0;
A=ones(n,n);%生成一个全1的n阶矩阵
for x=1:10000 %随机模拟一万次,求平均值
for i=1:(n-1)
for j=(i+1):n
c=randperm(numel(enum));%这段代码的意思是把向量enum的元素打乱重排,生成一个乱序的新向量c
A(i,j)=enum(c(1:1));%然后从新向量中抽取第一个元素,相当于是随机抽取
A(j,i)=1/A(i,j);%构造正互反矩阵
end
end
V=eig(A);%求特征值,注意:这里的特征值是n阶矩阵的n个特征值组成的一个向量
Vmax=Vmax+max(V);%把这些特征值加起来,为下面求平均用
end
RI(1,n-2)=((Vmax/10000)-n)/(n-1);%这是RI的定义求法,公式详见课本
end
RI%输出RI
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5