1027120859
2008-12-13, 23:49
层次分析法里面求n=1~11时的随机一致性指标值,随机数字要大于1000,需要随机构造正互反矩阵A‘,我不会,帮帮忙啊
这个东西作出来比较复杂,你如果急着用,
还是找个DPS来直接完成好了,那个可以直接设定,自动完成。
如果可能,最好找个注册版的,毕竟是国货。
如果不急着用,还是到学习讨论区看看相关的书吧。
laosam280
2008-12-26, 10:50
clc
a=[1,1,1,4,1,1/2
1,1,2,4,1,1/2
1,1/2,1,5,3,1/2
1/4,1/4,1/5,1,1/3,1/3
1,1,1/3,3,1,1
2,2,2,3,3,1];
[x,y]=eig(a);eigenvalue=diag(y);lamda=eigenvalue(1);
ci1=(lamda-6)/5;cr1=ci1/1.24
w1=x(:,1)/sum(x(:,1))
b1=[1,1/4,1/2;4,1,3;2,1/3,1];
[x,y]=eig(b1);eigenvalue=diag(y);lamda=eigenvalue(1);
ci21=(lamda-3)/2;cr21=ci21/0.58
w21=x(:,1)/sum(x(:,1))
b2=[1 1/4 1/5;4 1 1/2;5 2 1];
[x,y]=eig(b2);eigenvalue=diag(y);lamda=eigenvalue(1);
ci22=(lamda-3)/2;cr22=ci22/0.58
w22=x(:,1)/sum(x(:,1))
b3=[1 3 1/3;1/3 1 1/7;3 7 1];
[x,y]=eig(b3);eigenvalue=diag(y);lamda=eigenvalue(1);
ci23=(lamda-3)/2;cr23=ci23/0.58
w23=x(:,1)/sum(x(:,1))
b4=[1 1/3 5;3 1 7;1/5 1/7 1];
[x,y]=eig(b4);eigenvalue=diag(y);lamda=eigenvalue(1);
ci24=(lamda-3)/2;cr24=ci24/0.58
w24=x(:,1)/sum(x(:,1))
b5=[1 1 7;1 1 7;1/7 1/7 1];
[x,y]=eig(b5);eigenvalue=diag(y);lamda=eigenvalue(2);
ci25=(lamda-3)/2;cr25=ci25/0.58
w25=x(:,2)/sum(x(:,2))
b6=[1 7 9;1/7 1 1 ;1/9 1 1];
[x,y]=eig(b6);eigenvalue=diag(y);lamda=eigenvalue(1);
ci26=(lamda-3)/2;cr26=ci26/0.58
w26=x(:,1)/sum(x(:,1))
w_sum=[w21,w22,w23,w24,w25,w26]*w1
ci=[ci21,ci22,ci23,ci24,ci25,ci26];
cr=ci*w1/sum(0.58*w1)
我的一个简单程序,自己修改n的取值就可以了,我对这个问题做过深入的探讨。如果你有兴趣的话,可以把你的想法和我交流一下,谢谢。
laosam280
2008-12-26, 10:52
n=100;sum=0;
S=ones(n);
a=[1,2,3,4,5,6,7,8,9,1/2,1/3,1/4,1/5,1/6,1/7,1/8,1/9];
for k=1:200
for i=1:n-1
for j=i+1:n
S(i,j)=a(floor(1+17*rand(1)));
S(j,i)=1/S(i,j);
end;
end;
T=eig(S);
CR=(T(1)-n)/(n-1);
sum=sum+CR;
end;
avg=sum/200
这个也是可以进行计算的,看你习惯用哪个。
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.