【MATLAB · 代码】数学建模(一)层次分析法使用的代码

来源:互联网 发布:ubuntu安装kali工具包 编辑:程序博客网 时间:2024/06/01 11:44

程序一:

%对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)


 



 

0 0
原创粉丝点击