另外,题目中数据的输入较为繁琐,可以用load函数调用文本中的数据。
九、参考文献
1. 姜启源、谢金星、叶俊,《数学模型》,[M],北京:高等教育出版社,2003
十、附录
程序一
%准则层对A求最大特征值及其归一化特征向量、一致性检验 a=[1 3 5 4;1/3 1 2 1;1/5 1/2 1 1;1/4 1 1 1]; [v,d]=eig(a);
c=max(diag(d)) %求出最大特征值
f=find(diag(d)==max(diag(d))); %找到最大特征值所在位置
g=v(:,f)/sum(v(:,f)) %求出最大特征值对应的归一化特征向量 g =
0.5583 0.1836 0.1142 0.1439
>> CI=(c-4)/(4-1) CI =
0.0136
>> RI=0.90; >> CR=CI/RI CR =
0.0151
程序二
%对方案层B1矩阵求归一化特征向量
B1=[8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3];
- 11 -
for x=1:1:50 for y=1:1:50
C1(x,y)=B1(x)/B1(y); C1(y,x)=1/C1(x,y); y+1; end end
[v,d]=eig(C1); c=max(diag(d))
f=find(diag(d)==max(diag(d)));w1=v(:,f)/sum(v(:,f))
程序三
%对方案层B2矩阵求归一化特征向量
B2=[8,7,6,6,5,4,4,5,4,3,3,3,3,4,4,3,3,2,3,3,3,3,4,3,3,3,2,3,2,2,2,1,1,2,2,2,3,2,1,2,1,2,1,1,2,2,1,2,1,1]; for x=1:1:50 for y=1:1:50
C2(x,y)=B2(x)/B2(y); C2(y,x)=1/C2(x,y); y+1; end end
[v,d]=eig(C2); c=max(diag(d))
f=find(diag(d)==max(diag(d)));w2=v(:,f)/sum(v(:,f))
程序四
%对方案层B3矩阵求归一化特征向量
B3=[3,5,5,3,5,7,7,5,5,5,3,3,5,5,3,5,3,5,3,3,5,5,5,5,3,5,5,5,5,7,5,5,3,5,5,3,7,7,5,5,5,5,5,3,7,5,5,7,5,5]; for x=1:1:50 for y=1:1:50
C3(x,y)=B3(x)/B3(y); C3(y,x)=1/C3(x,y); y+1; end end
[v,d]=eig(C3); c=max(diag(d))
f=find(diag(d)==max(diag(d)));w3=v(:,f)/sum(v(:,f))
程序五
%对方案层B4矩阵求归一化特征向量
- 12 -
B4=[7,5,5,7,5,2,5,5,5,7,2,7,2,5,7,5,2,5,7,5,5,5,5,5,2,7,5,5,2,5,7,5,5,7,5,2,5,7,5,7,5,7,5,2,7,5,7,7,5,5]; for x=1:1:50 for y=1:1:50
C4(x,y)=B4(x)/B4(y); C4(y,x)=1/C4(x,y); y+1; end end
[v,d]=eig(C4); c=max(diag(d))
f=find(diag(d)==max(diag(d)));w4=v(:,f)/sum(v(:,f))
程序六
%求总权值及总排序 C=[w1,w2,w3,w4]; w=C*(g) w
- 13 -