clc,clear
fid=fopen('txt3.txt','r');
n1=6;n2=3;
a=[];
for i=1:n1
tmp=str2num(fgetl(fid));
a=[a;tmp]; %读准则层判断矩阵
end
for i=1:n1
str1=char(['b',int2str(i),'=[];']);
str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);
eval(str1);
for j=1:n2
tmp=str2num(fgetl(fid));
eval(str2); %读方案层的判断矩阵
end
end
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
[x,y]=eig(a);
lamda=max(diag(y));
num=find(diag(y)==lamda);
w0=x(:,num)/sum(x(:,num)); %w0表示特征向量除以特征向量的代数和,表示层次单排序
cr0=(lamda-n1)/(n1-1)/ri(n1) %表示准则层判断矩阵的一致性检验
for i=1:n1
[x,y]=eig(eval(char(['b',int2str(i)])));
lamda=max(diag(y));
num=find(diag(y)==lamda);
w1(:,i)=x(:,num)/sum(x(:,num)); %表示方案层各个判断矩阵的层次单排序,层次总排序矩阵等于准则层层次单排序乘以方案曾层次单排序
cr1(i)=(lamda-n2)/(n2-1)/ri(n2); %表示方案层各个判断矩阵的一致性检验
end
cr0,cr1, ts=w1*w0, cr=cr1*w0 %打印出一致性检验标准和层次总排序
fid=fopen('txt3.txt','r');
n1=6;n2=3;
a=[];
for i=1:n1
tmp=str2num(fgetl(fid));
a=[a;tmp]; %读准则层判断矩阵
end
for i=1:n1
str1=char(['b',int2str(i),'=[];']);
str2=char(['b',int2str(i),'=[b',int2str(i),';tmp];']);
eval(str1);
for j=1:n2
tmp=str2num(fgetl(fid));
eval(str2); %读方案层的判断矩阵
end
end
ri=[0,0,0.58,0.90,1.12,1.24,1.32,1.41,1.45]; %一致性指标
[x,y]=eig(a);
lamda=max(diag(y));
num=find(diag(y)==lamda);
w0=x(:,num)/sum(x(:,num)); %w0表示特征向量除以特征向量的代数和,表示层次单排序
cr0=(lamda-n1)/(n1-1)/ri(n1) %表示准则层判断矩阵的一致性检验
for i=1:n1
[x,y]=eig(eval(char(['b',int2str(i)])));
lamda=max(diag(y));
num=find(diag(y)==lamda);
w1(:,i)=x(:,num)/sum(x(:,num)); %表示方案层各个判断矩阵的层次单排序,层次总排序矩阵等于准则层层次单排序乘以方案曾层次单排序
cr1(i)=(lamda-n2)/(n2-1)/ri(n2); %表示方案层各个判断矩阵的一致性检验
end
cr0,cr1, ts=w1*w0, cr=cr1*w0 %打印出一致性检验标准和层次总排序