【MATLAB · 代码】数学建模(一)层次分析法使用的代码
2017-04-17 22:43
1111 查看
程序一:
%对A矩阵一致性检验
A=[1 3 5 7; 1/3 1 3 5; 1/5 1/3 1 2;1/7 1/5 1/2 1 ]
[X,Y]=eig(A)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-4)/(4-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序二:
%对方案层B1矩阵求归一化特征向量
H=(VarName6);%职称
A=3*H
for i=1:1:50
for j = 1:1:50
B1(i,j) = A(i)/A(j);
end
end
[X,Y]=eig(B1)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-50)/(50-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序三:
%对方案层B2矩阵求归一化特征向量
H=(VarNam9);%教学
A=3*H;
for i=1:1:50
for j = 1:1:50
B4(i,j) = A(i)/A(j);
end
end
[X,Y]=eig(B4)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-50)/(50-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序四:
%对方案层B3矩阵求归一化特征向量
H=(VarName8);%学历
A=(9/4)*H;
for i=1:1:50
for j = 1:1:50
B3(i,j) = A(i)/A(j);
end
end
[X,Y]=eig(B3)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-50)/(50-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序五:
%对方案层B4矩阵求归一化特征向量
H=(VarName7);%工龄
A=(9/30)*H;
for i=1:1:50
for j = 1:1:50
B2(i,j) = A(i)/A(j);
end
end
[X,Y]=eig(B2)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-50)/(50-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序六:
%求总权值及总排序
H1=(VarName6);
A1=3*H;
for i=1:1:50
for j = 1:1:50
B1(i,j) = A1(i)/A1(j);
end
end
B1(:,1);
[X1,Y1]=eig(B1);
W1=B1(:,1)/sum(B1(:,1));%归一化特征向量
H2=(VarName7);
A2=(9/30)*H2;
for i=1:1:50
for j = 1:1:50
B2(i,j) = A2(i)/A2(j);
end
end
B2(:,1);
[X2,Y2]=eig(B2);
W2=B2(:,1)/sum(B2(:,1));%归一化特征向量
H3=(VarName8);
A3=(9/4)*H3;
for i=1:1:50
for j = 1:1:50
B3(i,j) = A3(i)/A3(j);
end
end
B3(:,1);
[X3,Y3]=eig(B3);
W3=B3(:,1)/sum(B3(:,1));%归一化特征向量
H4=(VarNam9);
A4=3*H4;
for i=1:1:50
for j = 1:1:50
B4(i,j) = A4(i)/A4(j);
end
end
B4(:,1);
[X4,Y4]=eig(B4);
W4=B4(:,1)/sum(B4(:,1));%归一化特征向量
x1=0.5693
x2=0.2643
x3=0.1055
x4=0.0609
for i=1:1:50
P(i)=x1*W1(i,1)+x2*W2(i,1)+x3*W3(i,1)+x4*W4(i,1)
end
N=transpose(P)
xlswrite('test9.xls',N)
%对A矩阵一致性检验
A=[1 3 5 7; 1/3 1 3 5; 1/5 1/3 1 2;1/7 1/5 1/2 1 ]
[X,Y]=eig(A)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-4)/(4-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序二:
%对方案层B1矩阵求归一化特征向量
H=(VarName6);%职称
A=3*H
for i=1:1:50
for j = 1:1:50
B1(i,j) = A(i)/A(j);
end
end
[X,Y]=eig(B1)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-50)/(50-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序三:
%对方案层B2矩阵求归一化特征向量
H=(VarNam9);%教学
A=3*H;
for i=1:1:50
for j = 1:1:50
B4(i,j) = A(i)/A(j);
end
end
[X,Y]=eig(B4)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-50)/(50-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序四:
%对方案层B3矩阵求归一化特征向量
H=(VarName8);%学历
A=(9/4)*H;
for i=1:1:50
for j = 1:1:50
B3(i,j) = A(i)/A(j);
end
end
[X,Y]=eig(B3)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-50)/(50-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序五:
%对方案层B4矩阵求归一化特征向量
H=(VarName7);%工龄
A=(9/30)*H;
for i=1:1:50
for j = 1:1:50
B2(i,j) = A(i)/A(j);
end
end
[X,Y]=eig(B2)
eigenvalue=diag(Y)%特征值
lamda=max(eigenvalue)%矩阵最大特征值
Y_lamda=Y(:, 1)%最大特征值对应的特征向量
W=X(:,1)/sum(X(:,1))%归一化特征向量
CI=(lamda-50)/(50-1)
CR=CI/0.90
DAXIAO=CR-0.1
程序六:
%求总权值及总排序
H1=(VarName6);
A1=3*H;
for i=1:1:50
for j = 1:1:50
B1(i,j) = A1(i)/A1(j);
end
end
B1(:,1);
[X1,Y1]=eig(B1);
W1=B1(:,1)/sum(B1(:,1));%归一化特征向量
H2=(VarName7);
A2=(9/30)*H2;
for i=1:1:50
for j = 1:1:50
B2(i,j) = A2(i)/A2(j);
end
end
B2(:,1);
[X2,Y2]=eig(B2);
W2=B2(:,1)/sum(B2(:,1));%归一化特征向量
H3=(VarName8);
A3=(9/4)*H3;
for i=1:1:50
for j = 1:1:50
B3(i,j) = A3(i)/A3(j);
end
end
B3(:,1);
[X3,Y3]=eig(B3);
W3=B3(:,1)/sum(B3(:,1));%归一化特征向量
H4=(VarNam9);
A4=3*H4;
for i=1:1:50
for j = 1:1:50
B4(i,j) = A4(i)/A4(j);
end
end
B4(:,1);
[X4,Y4]=eig(B4);
W4=B4(:,1)/sum(B4(:,1));%归一化特征向量
x1=0.5693
x2=0.2643
x3=0.1055
x4=0.0609
for i=1:1:50
P(i)=x1*W1(i,1)+x2*W2(i,1)+x3*W3(i,1)+x4*W4(i,1)
end
N=transpose(P)
xlswrite('test9.xls',N)
相关文章推荐
- 数学建模常用Matlab/Lingo/c代码总结系列——整数规划问题
- 数学建模常用Matlab/Lingo/c代码总结系列——非线性拟合
- 数学建模常用Matlab/Lingo/c代码总结系列——参数估计
- 用MATLAB进行层次分析法时计算权向量的代码。
- 数学建模常用Matlab/Lingo/c代码总结系列——hamilton回路
- 数学建模_使用网络分析法(ANP模型)解决美日欧系车型的选择问题
- 数学建模中的ARMA模型和ARIMA模型的使用实例(含代码)
- 数学建模常用Matlab/Lingo/c代码总结系列——最小费用最大流问题
- 数学建模常用Matlab/Lingo/c代码总结系列——floyd最短路径
- 【数学建模】图与网络 提纲 & matlab代码
- MATLAB实现层次分析法计算权重的代码函数实现
- 数学建模常用Matlab/Lingo/c代码总结系列——Matlab图形绘制函数汇总
- MATLAB实现构造Euler环游图的算法——数学建模
- 【数学建模集训系列】公交查询系统的matlab实现-运行截图和结果
- matlab 优化内存使用以及优化代码运行速度
- 【数学建模集训系列】公交查询系统的matlab实现-公交站点和线路对应矩阵
- 【数学建模集训系列】公交查询系统的matlab实现-加入地铁线T1
- 研究生数学建模比赛做的一些matlab脚本(2012基因那题)
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤
- 举例说明使用MATLAB Coder从MATLAB生成C/C++代码步骤