Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-12-13, 23:49   #1
1027120859
初级会员
 
注册日期: 2008-12-13
年龄: 35
帖子: 1
声望力: 0
1027120859 正向着好的方向发展
默认 [求助]MATLAB解决随机一致性指标值

层次分析法里面求n=1~11时的随机一致性指标值,随机数字要大于1000,需要随机构造正互反矩阵A‘,我不会,帮帮忙啊
1027120859 当前离线   回复时引用此帖
旧 2008-12-15, 22:57   #2
arouse
初级会员
 
注册日期: 2008-05-31
年龄: 45
帖子: 4
声望力: 0
arouse 正向着好的方向发展
默认 回复: [求助]MATLAB解决随机一致性指标值

这个东西作出来比较复杂,你如果急着用,
还是找个DPS来直接完成好了,那个可以直接设定,自动完成。
如果可能,最好找个注册版的,毕竟是国货。
如果不急着用,还是到学习讨论区看看相关的书吧。
arouse 当前离线   回复时引用此帖
旧 2008-12-26, 10:50   #3
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: [求助]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的取值就可以了,我对这个问题做过深入的探讨。如果你有兴趣的话,可以把你的想法和我交流一下,谢谢。
laosam280 当前离线   回复时引用此帖
旧 2008-12-26, 10:52   #4
laosam280
高级会员
 
注册日期: 2008-11-07
住址: 湖南长沙
帖子: 233
声望力: 21
laosam280 正向着好的方向发展
默认 回复: [求助]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


这个也是可以进行计算的,看你习惯用哪个。
laosam280 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
RMSE等势线图--MATLAB编程? 留一丝 MATLAB论坛 0 2009-02-24 16:13
[分享]NeuralNetwork_BP.rar guofeng0108 MATLAB论坛 0 2008-12-03 15:47
[求助]进来帮我看下这几个题目 我是心云 MATLAB论坛 2 2008-11-30 23:17
[资料]也和大家讨论ROI周长和面积的计算 zjing MATLAB论坛 1 2008-11-26 10:31
GM(1,1) lvlianggan MATLAB论坛 2 2008-11-07 22:52


所有时间均为北京时间。现在的时间是 02:42


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.