基于MATLAB的D-S证据理论实现
clear all
close all
clc
%%%%%%%%%% D_S算法设置 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
num_Sensor=3; %传感器数目
num_Object=6; %识别对象数目 四个目标(机载雷达: 火控 瞄准 导航 预警)+全集+空集
num_Period=3; %测量周期数
Info=zeros(num_Sensor,num_Object,num_Period); % 一次判决所需要的信息
Info(:,:,1)=[0.30 0.40 0.15 0.00 0.15 0.00;
0.30 0.50 0.10 0.00 0.10 0.00;
0.30 0.30 0.20 0.00 0.20 0.00;];
Info(:,:,2)=[0.40 0.20 0.20 0.00 0.20 0.00;
0.50 0.20 0.20 0.00 0.10 0.00;
0.50 0.30 0.10 0.00 0.10 0.00;];
Info(:,:,3)=[0.50 0.20 0.15 0.00 0.15 0.00;
0.40 0.30 0.10 0.00 0.20 0.00;
0.40 0.20 0.10 0.00 0.30 0.00;];
Info1=zeros(num_Period,num_Object);
%各周期内传感器的融合
for i=1:num_Period
Info1(i,:)=Info(1,:,i);
for j=1:num_Sensor-1
Info1(i,:)=DS_fusion(Info1(i,:),Info(j+1,:,i));
end
end
%周期之间的融合
Result=Info1(1,:);
for i=1:num_Period-1
Result=DS_fusion(Result,Info1(i+1,:));
end
ec1=0.1; %融合决策判据
ec2=0.1;
DS_out(Result,ec1,ec2);
如果读者无法调试成功该代码,请点击代码资源下载或<>进行源代码下载,谢谢大家的支持!
