![]() |
[求助]MATLAB解决随机一致性指标值
层次分析法里面求n=1~11时的随机一致性指标值,随机数字要大于1000,需要随机构造正互反矩阵A‘,我不会,帮帮忙啊
|
回复: [求助]MATLAB解决随机一致性指标值
这个东西作出来比较复杂,你如果急着用,
还是找个DPS来直接完成好了,那个可以直接设定,自动完成。 如果可能,最好找个注册版的,毕竟是国货。 如果不急着用,还是到学习讨论区看看相关的书吧。 |
回复: [求助]MATLAB解决随机一致性指标值
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的取值就可以了,我对这个问题做过深入的探讨。如果你有兴趣的话,可以把你的想法和我交流一下,谢谢。 |
回复: [求助]MATLAB解决随机一致性指标值
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 这个也是可以进行计算的,看你习惯用哪个。 |
所有时间均为北京时间。现在的时间是 05:08。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.