天天看點

【源代碼】關于D_S證據理論和可信度的計算

參考文獻:《基于D_S證據理論的組網雷達_四抗_能力評價》,請自行下載下傳

clear
clc

%第2層權重
e1=[0.056 0.157 0.237 0.452 0.099]; % e11 e12 e13 e14 e15
e2=[0.483 0.157 0.088 0.272]; % e21 e22 e23 e24 
e3=[0.370 0.345 0.185 0.100]; % e31 e32 e33 e34
e4=[0.540 0.163 0.297]; % e41 e42 e43

%第1層權重
e=[0.532 0.112 0.288 0.068];  %e1 e2 e3 e4


%--------第1步:确定專家評判意見----------
%專家組根據知識和經驗給出對評價名額體系中的底層名額因素定性的評判意見,采用專家評判意見的
%表示方法對定性的評判意見進行定量的描述

%專家對e11的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V11=[0 0 0.3 0.7 0;
   0 0.2 0.2 0.6 0;
   0 0.1 0.3 0.6 0;
   0 0 0.2 0.8 0];
%專家對e12的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V12=V11;
%專家對e13的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V13=V11;
%專家對e14的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V14=V11;
%專家對e15的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V15=V11;
%專家對e21的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V21=V11;
%專家對e22的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V22=V11;
%專家對e23的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V23=V11;
%專家對e24的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V24=V11;
%專家對e31的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V31=V11;
%專家對e32的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V32=V11;
%專家對e33的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V33=V11;
%專家對e34的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V34=V11;
%專家對e41的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V41=V11;
%專家對e42的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V42=V11;
%專家對e43的評判意見:4行對應4個專家,5列對應5個評價等級(差V1,劣V2,中V3,良V4,優V5)
V43=V11;

%--------第2步:綜合處理評判意見,确定第2層各名額因素評判意見的基本可信度配置設定----------
%4個專家權重
w=[0.2 0.35 0.15 0.3];

delta_ejk=0.95*w/max(w);%專家對名額ejk評判可靠度

%名額e11的基本可信度配置設定值
Beta_V11=[delta_ejk(1)*V11(1,:);
          delta_ejk(2)*V11(2,:);
	  delta_ejk(3)*V11(3,:);
	  delta_ejk(4)*V11(4,:);];
%名額e12的基本可信度配置設定值
Beta_V12=[delta_ejk(1)*V12(1,:);
          delta_ejk(2)*V12(2,:);
	  delta_ejk(3)*V12(3,:);
	  delta_ejk(4)*V12(4,:);];
%名額e13的基本可信度配置設定值
Beta_V13=[delta_ejk(1)*V13(1,:);
          delta_ejk(2)*V13(2,:);
	  delta_ejk(3)*V13(3,:);
	  delta_ejk(4)*V13(4,:);];
%名額e14的基本可信度配置設定值
Beta_V14=[delta_ejk(1)*V14(1,:);
          delta_ejk(2)*V14(2,:);
	  delta_ejk(3)*V14(3,:);
	  delta_ejk(4)*V14(4,:);];
%名額e15的基本可信度配置設定值
Beta_V15=[delta_ejk(1)*V15(1,:);
          delta_ejk(2)*V15(2,:);
	  delta_ejk(3)*V15(3,:);
	  delta_ejk(4)*V15(4,:);];
%名額e21的基本可信度配置設定值
Beta_V21=[delta_ejk(1)*V21(1,:);
          delta_ejk(2)*V21(2,:);
	  delta_ejk(3)*V21(3,:);
	  delta_ejk(4)*V21(4,:);];
%名額e22的基本可信度配置設定值
Beta_V22=[delta_ejk(1)*V22(1,:);
          delta_ejk(2)*V22(2,:);
	  delta_ejk(3)*V22(3,:);
	  delta_ejk(4)*V22(4,:);];
%名額e23的基本可信度配置設定值
Beta_V23=[delta_ejk(1)*V23(1,:);
          delta_ejk(2)*V23(2,:);
	  delta_ejk(3)*V23(3,:);
	  delta_ejk(4)*V23(4,:);];
%名額e24的基本可信度配置設定值
Beta_V24=[delta_ejk(1)*V24(1,:);
          delta_ejk(2)*V24(2,:);
	  delta_ejk(3)*V24(3,:);
	  delta_ejk(4)*V24(4,:);];
%名額e31的基本可信度配置設定值
Beta_V31=[delta_ejk(1)*V31(1,:);
          delta_ejk(2)*V31(2,:);
	  delta_ejk(3)*V31(3,:);
	  delta_ejk(4)*V31(4,:);];
%名額e32的基本可信度配置設定值
Beta_V32=[delta_ejk(1)*V32(1,:);
          delta_ejk(2)*V32(2,:);
	  delta_ejk(3)*V32(3,:);
	  delta_ejk(4)*V32(4,:);];
%名額e33的基本可信度配置設定值
Beta_V33=[delta_ejk(1)*V33(1,:);
          delta_ejk(2)*V33(2,:);
	  delta_ejk(3)*V33(3,:);
	  delta_ejk(4)*V33(4,:);];
%名額e34的基本可信度配置設定值
Beta_V34=[delta_ejk(1)*V34(1,:);
          delta_ejk(2)*V34(2,:);
	  delta_ejk(3)*V34(3,:);
	  delta_ejk(4)*V34(4,:);];
%名額e41的基本可信度配置設定值
Beta_V41=[delta_ejk(1)*V41(1,:);
          delta_ejk(2)*V41(2,:);
	  delta_ejk(3)*V41(3,:);
	  delta_ejk(4)*V41(4,:);];
%名額e42的基本可信度配置設定值
Beta_V42=[delta_ejk(1)*V42(1,:);
          delta_ejk(2)*V42(2,:);
	  delta_ejk(3)*V42(3,:);
	  delta_ejk(4)*V42(4,:);];
%名額e43的基本可信度配置設定值
Beta_V43=[delta_ejk(1)*V43(1,:);
          delta_ejk(2)*V43(2,:);
	  delta_ejk(3)*V43(3,:);
	  delta_ejk(4)*V43(4,:);];

%--------第3步:确定第2層名額因素的合成可信度----------
%确定e11的合成可信度
V12_e11=D_Szj(Beta_V11(1,:),Beta_V11(2,:)); %專家1和專家2合成
V123_e11=D_Szj(V12_e11,Beta_V11(3,:)); %上一步合成結果和專家3合成
V1234_e11=D_Szj(V123_e11,Beta_V11(4,:)); %上一步合成結果和專家4合成
%确定e12的合成可信度
V12_e12=D_Szj(Beta_V12(1,:),Beta_V12(2,:)); %專家1和專家2合成
V123_e12=D_Szj(V12_e12,Beta_V12(3,:)); %上一步合成結果和專家3合成
V1234_e12=D_Szj(V123_e12,Beta_V12(4,:)); %上一步合成結果和專家4合成
%确定e13的合成可信度
V12_e13=D_Szj(Beta_V13(1,:),Beta_V13(2,:)); %專家1和專家2合成
V123_e13=D_Szj(V12_e13,Beta_V13(3,:)); %上一步合成結果和專家3合成
V1234_e13=D_Szj(V123_e13,Beta_V13(4,:)); %上一步合成結果和專家4合成
%确定e14的合成可信度
V12_e14=D_Szj(Beta_V14(1,:),Beta_V14(2,:)); %專家1和專家2合成
V123_e14=D_Szj(V12_e14,Beta_V14(3,:)); %上一步合成結果和專家3合成
V1234_e14=D_Szj(V123_e14,Beta_V14(4,:)); %上一步合成結果和專家4合成
%确定e15的合成可信度
V12_e15=D_Szj(Beta_V15(1,:),Beta_V15(2,:)); %專家1和專家2合成
V123_e15=D_Szj(V12_e15,Beta_V15(3,:)); %上一步合成結果和專家3合成
V1234_e15=D_Szj(V123_e15,Beta_V15(4,:)); %上一步合成結果和專家4合成

%确定e21的合成可信度
V12_e21=D_Szj(Beta_V21(1,:),Beta_V21(2,:)); %專家1和專家2合成
V123_e21=D_Szj(V12_e21,Beta_V21(3,:)); %上一步合成結果和專家3合成
V1234_e21=D_Szj(V123_e21,Beta_V21(4,:)); %上一步合成結果和專家4合成
%确定e22的合成可信度
V12_e22=D_Szj(Beta_V22(1,:),Beta_V22(2,:)); %專家1和專家2合成
V123_e22=D_Szj(V12_e22,Beta_V22(3,:)); %上一步合成結果和專家3合成
V1234_e22=D_Szj(V123_e22,Beta_V22(4,:)); %上一步合成結果和專家4合成
%确定e23的合成可信度
V12_e23=D_Szj(Beta_V23(1,:),Beta_V23(2,:)); %專家1和專家2合成
V123_e23=D_Szj(V12_e23,Beta_V23(3,:)); %上一步合成結果和專家3合成
V1234_e23=D_Szj(V123_e23,Beta_V23(4,:)); %上一步合成結果和專家4合成
%确定e24的合成可信度
V12_e24=D_Szj(Beta_V24(1,:),Beta_V24(2,:)); %專家1和專家2合成
V123_e24=D_Szj(V12_e24,Beta_V24(3,:)); %上一步合成結果和專家3合成
V1234_e24=D_Szj(V123_e24,Beta_V24(4,:)); %上一步合成結果和專家4合成

%确定e31的合成可信度
V12_e31=D_Szj(Beta_V31(1,:),Beta_V31(2,:)); %專家1和專家2合成
V123_e31=D_Szj(V12_e31,Beta_V31(3,:)); %上一步合成結果和專家3合成
V1234_e31=D_Szj(V123_e31,Beta_V31(4,:)); %上一步合成結果和專家4合成
%确定e32的合成可信度
V12_e32=D_Szj(Beta_V32(1,:),Beta_V32(2,:)); %專家1和專家2合成
V123_e32=D_Szj(V12_e32,Beta_V32(3,:)); %上一步合成結果和專家3合成
V1234_e32=D_Szj(V123_e32,Beta_V32(4,:)); %上一步合成結果和專家4合成
%确定e33的合成可信度
V12_e33=D_Szj(Beta_V33(1,:),Beta_V33(2,:)); %專家1和專家2合成
V123_e33=D_Szj(V12_e33,Beta_V33(3,:)); %上一步合成結果和專家3合成
V1234_e33=D_Szj(V123_e33,Beta_V33(4,:)); %上一步合成結果和專家4合成
%确定e34的合成可信度
V12_e34=D_Szj(Beta_V34(1,:),Beta_V34(2,:)); %專家1和專家2合成
V123_e34=D_Szj(V12_e34,Beta_V34(3,:)); %上一步合成結果和專家3合成
V1234_e34=D_Szj(V123_e34,Beta_V34(4,:)); %上一步合成結果和專家4合成

%确定e41的合成可信度
V12_e41=D_Szj(Beta_V41(1,:),Beta_V41(2,:)); %專家1和專家2合成
V123_e41=D_Szj(V12_e41,Beta_V41(3,:)); %上一步合成結果和專家3合成
V1234_e41=D_Szj(V123_e41,Beta_V41(4,:)); %上一步合成結果和專家4合成
%确定e42的合成可信度
V12_e42=D_Szj(Beta_V42(1,:),Beta_V42(2,:)); %專家1和專家2合成
V123_e42=D_Szj(V12_e42,Beta_V42(3,:)); %上一步合成結果和專家3合成
V1234_e42=D_Szj(V123_e42,Beta_V42(4,:)); %上一步合成結果和專家4合成
%确定e43的合成可信度
V12_e43=D_Szj(Beta_V43(1,:),Beta_V43(2,:)); %專家1和專家2合成
V123_e43=D_Szj(V12_e43,Beta_V43(3,:)); %上一步合成結果和專家3合成
V1234_e43=D_Szj(V123_e43,Beta_V43(4,:)); %上一步合成結果和專家4合成

%--------第4步:綜合處理上一步确定的合成可信度,确定第2層名額因素的基本可信度配置設定值----------
%第2層各名額因素的權重
we=[0.1 0.05 0.05 0.1 0.1 0.1 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05]; 

delta_ejk2=0.9*we/max(we);
Beta_V1234_e11=delta_ejk2(1)*V1234_e11; %e11的基本可信度配置設定值
Beta_V1234_e12=delta_ejk2(2)*V1234_e12; %e12的基本可信度配置設定值
Beta_V1234_e13=delta_ejk2(3)*V1234_e13; %e13的基本可信度配置設定值
Beta_V1234_e14=delta_ejk2(4)*V1234_e14; %e14的基本可信度配置設定值
Beta_V1234_e15=delta_ejk2(5)*V1234_e15; %e15的基本可信度配置設定值

Beta_V1234_e21=delta_ejk2(6)*V1234_e21; %e21的基本可信度配置設定值
Beta_V1234_e22=delta_ejk2(7)*V1234_e22; %e22的基本可信度配置設定值
Beta_V1234_e23=delta_ejk2(8)*V1234_e23; %e23的基本可信度配置設定值
Beta_V1234_e24=delta_ejk2(9)*V1234_e24; %e24的基本可信度配置設定值

Beta_V1234_e31=delta_ejk2(10)*V1234_e31; %e31的基本可信度配置設定值
Beta_V1234_e32=delta_ejk2(11)*V1234_e32; %e32的基本可信度配置設定值
Beta_V1234_e33=delta_ejk2(12)*V1234_e33; %e33的基本可信度配置設定值
Beta_V1234_e34=delta_ejk2(13)*V1234_e34; %e34的基本可信度配置設定值

Beta_V1234_e41=delta_ejk2(14)*V1234_e41; %e41的基本可信度配置設定值
Beta_V1234_e42=delta_ejk2(15)*V1234_e42; %e42的基本可信度配置設定值
Beta_V1234_e43=delta_ejk2(16)*V1234_e43; %e43的基本可信度配置設定值


%--------第5步:确定第1層名額因素的合成可信度----------
%确定e1的合成可信度
V12_e1=D_Szj(Beta_V1234_e11,Beta_V1234_e12); %e11和e12合成
V123_e1=D_Szj(V12_e1,Beta_V1234_e13); %上一步合成結果和e13合成
V1234_e1=D_Szj(V123_e1,Beta_V1234_e14); %上一步合成結果和e14合成
V12345_e1=D_Szj(V1234_e1,Beta_V1234_e15); %上一步合成結果和e15合成

%确定e2的合成可信度
V12_e2=D_Szj(Beta_V1234_e21,Beta_V1234_e22); %e21和e22合成
V123_e2=D_Szj(V12_e2,Beta_V1234_e23); %上一步合成結果和e23合成
V1234_e2=D_Szj(V123_e2,Beta_V1234_e24); %上一步合成結果和e24合成


%确定e3的合成可信度
V12_e3=D_Szj(Beta_V1234_e31,Beta_V1234_e32); %e31和e32合成
V123_e3=D_Szj(V12_e3,Beta_V1234_e33); %上一步合成結果和e33合成
V1234_e3=D_Szj(V123_e3,Beta_V1234_e34); %上一步合成結果和e34合成

%确定e4的合成可信度
V12_e4=D_Szj(Beta_V1234_e41,Beta_V1234_e42); %e41和e42合成
V123_e4=D_Szj(V12_e4,Beta_V1234_e43); %上一步合成結果和e43合成


%--------第6步:綜合處理上一步确定的合成可信度,确定第1層名額因素的基本可信度配置設定值----------
%第2層各名額因素的權重
w1=[0.532 0.112 0.288 0.068]; 
delta_ej1=0.9*w1/max(w1);%專家對名額e1 e2 e3 e4評判可靠度
%名額e1的基本可信度配置設定值
Beta_V12345_e1=delta_ej1(1)*V12345_e1;
%名額e2的基本可信度配置設定值
Beta_V1234_e2=delta_ej1(2)*V1234_e2;
%名額e3的基本可信度配置設定值
Beta_V1234_e3=delta_ej1(3)*V1234_e3;
%名額e的基本可信度配置設定值
Beta_V123_e4=delta_ej1(4)*V123_e4;

%--------第7步:整個系統可信度配置設定值----------
V12=D_Szj(Beta_V12345_e1,Beta_V1234_e2); %e1和e2合成
V123=D_Szj(V12,Beta_V1234_e3); %上一步合成結果和e3合成
V1234=D_Szj(V123,Beta_V123_e4); %上一步合成結果和e4合成

%--------第8步:求綜合效能值----------
total=0.2*V1234(1)+0.4*V1234(2)+0.6*V1234(3)+0.8*V1234(4)+1*V1234(5)



%識别架構為:U={V1,V2,V3,V4,V5}
function m12=D_Szj(P,Q)
m12_V1=P(1)*Q(1);
m12_V2=P(2)*Q(2);
m12_V3=P(3)*Q(3);
m12_V4=P(4)*Q(4);
m12_V5=P(5)*Q(5);

c12=m12_V1+m12_V2+m12_V3+m12_V4+m12_V5;
V1=m12_V1/c12;
V2=m12_V2/c12;
V3=m12_V3/c12;
V4=m12_V4/c12;
V5=m12_V5/c12;
m12=[V1 V2 V3 V4 V5]; 










           

上面用到的子程式的源代碼

function m12=D_Szj(P,Q)
m12_A1=P(1)*Q(1)+P(1)*Q(5)+P(5)*Q(1);
m12_A2=P(2)*Q(2)+P(2)*Q(5)+P(5)*Q(2);
m12_A3=P(3)*Q(3)+P(3)*Q(5)+P(5)*Q(3);
m12_A4=P(4)*Q(4)+P(4)*Q(5)+P(5)*Q(4);
m12_A5=P(5)*Q(5);
m12_A6=0;
c12=m12_A1+m12_A2+m12_A3+m12_A4+m12_A5+m12_A6;
A1=m12_A1/c12;
A2=m12_A2/c12;
A3=m12_A3/c12;
A4=m12_A4/c12;
A5=m12_A5/c12;
A6=m12_A6/c12;
m12=[A1 A2 A3 A4 A5 A6];