MATLAB用于层次分析法在计算过程中出现错误输出 10
求大神赐教MATLAB用于层次分析法在计算过程中出现错误输出%%子准则层5B5=[1,1/2,1/2;2,1,1;2,1,1];%REP[x,y]=eig(B5);eig...
求大神赐教
MATLAB用于层次分析法在计算过程中出现错误输出
%%子准则层5
B5=[1,1/2,1/2;2,1,1;2,1,1];%REP
[x,y]=eig(B5);
eigenvalue=diag(y);
lamda=eigenvalue(1);
ci25=(lamda-3)/2
cr25=ci25/0.58
w25=x(:,1)/sum(x(:,1))
ci25 =
-1.5000
cr25 =
-2.5862
w25 =
-1.0000
1.0000
1.0000
实际上结果应该为
w25=
0.200
0.400
0.400
这个结果我用EXCEL验算过,但是不知道MATLAB为什么会出上面的结果
求大神赐教 展开
MATLAB用于层次分析法在计算过程中出现错误输出
%%子准则层5
B5=[1,1/2,1/2;2,1,1;2,1,1];%REP
[x,y]=eig(B5);
eigenvalue=diag(y);
lamda=eigenvalue(1);
ci25=(lamda-3)/2
cr25=ci25/0.58
w25=x(:,1)/sum(x(:,1))
ci25 =
-1.5000
cr25 =
-2.5862
w25 =
-1.0000
1.0000
1.0000
实际上结果应该为
w25=
0.200
0.400
0.400
这个结果我用EXCEL验算过,但是不知道MATLAB为什么会出上面的结果
求大神赐教 展开
2个回答
2017-06-25 · 知道合伙人互联网行家
关注
展开全部
一楼说的没错。
%//一致性检验:需满足随机一致性比率CR<0.1//
% CR小于0.1判断矩阵才满足一致性检验
% CR不能为负值,CR如果为负值,要么是计算错误了,检查一下计算过程;另一种,要么是你构建的判断矩阵有问题,再调整矩阵里面数值的两两比较关系。
% 若CR=0有两种情况,其一就是你保留的小数位数少,其二就是真的等于0。但没关系,一般这个比值小于0.1证明矩阵一致性通过检验。
% 若CR>0.1,则判断矩阵需要调整,你两两比较的结果重要性需要调整
%//一致性检验:需满足随机一致性比率CR<0.1//
% CR小于0.1判断矩阵才满足一致性检验
% CR不能为负值,CR如果为负值,要么是计算错误了,检查一下计算过程;另一种,要么是你构建的判断矩阵有问题,再调整矩阵里面数值的两两比较关系。
% 若CR=0有两种情况,其一就是你保留的小数位数少,其二就是真的等于0。但没关系,一般这个比值小于0.1证明矩阵一致性通过检验。
% 若CR>0.1,则判断矩阵需要调整,你两两比较的结果重要性需要调整
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询