📄 pignisticdst.m
字号:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% The coryright belongs to Yang Yang,Automation Institute,NPU,710072
% Xi'an, China
% EDITION NUMBER: 1.0
% Contract me : E-mail yay9096@hotmail.com ,
% Mobile : 13572239439,
% Home : 029-82375332
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function P=PignisticDST(e)
% calculate the Pignistic Probalilities from bba m(.) in DST, the format is:
% P=Pignistic(e)
% e: evidences to be calculated,it is a vector for a column.
% P: output the Pignistic Probalilities from bba m(.),it have 2 elements
% for two class and 3 elements for three class ,the size is 1*n.
% Interpretion:
% The function can only calculate two or three classes for the Frame
% within DST.If the Frame have two elements, they are denoted in
% Theta={A,B},and if it have three elements,the Theta={A,B,C}. Then the
% 2^Theta={0,A,B,A|B} for two dimensions . Then the Pignistic
% Probalilities from bba m(.) in DST can be calculate in matrix .
% Note that the order of e must be set in the order of 2^Theta.
% Other Noting ,it has eight elements in the 2^Theta for three
% class.
% Do not hesitate to contract me ,if you have any question.
[row,col]=size(e);
%Judge the classes of the Frame
if row==4
class=2;
elseif row==8
class=3;
else disp(['The class number of the Frame is not two or three,the function can not be calculated']);
return;
end
if class==2
P=[0,1,0,0.5;
0,0,1,0.5]*e;
end
if class==3
P=[0,1,0,1/2,0,1/2,0,1/3;
0,0,1,1/2,0,0,1/2,1/3;
0,0,0,0,1,1/2,1/2,1/3; ]*e;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -