基于证据理论的多源数据融合仿真实验matlab代码(源码)

原理及代码讲解的链接: https://blog.csdn.net/qq_44394952/article/details/122177733?spm=1001.2014.3001.5502.

// 主函数main.m
clear all
clc

E={'';'a';'b';'c';'ab';'ac';'bc';'abc'}; 

%三个证据基本置信度指派函数
M1=[0,0.35,0.25,0.15,0.06,0.05,0.04,0.10];
M2=[0,0.45,0.15,0.05,0.06,0.15,0.04,0.10];
M3=[0,0.55,0.15,0.05,0.06,0.05,0.10,0.04];


%求信任度函数bel
be1_M1=Bel(M1);

%求似真度函数pl
p1_M1=Pl(be1_M1);


%求两证据融合的mass值
%1M1M2融合结果
m12=D_S(M1,M2);
%求三证据融合的mass值
%2M1M2M3融合结果
m123=D_S(m12,M3);

// 信任度函数Bel.m
function bel_A = Bel(M)%信任度函数
bel_A=zeros(1,8);%初始化矩阵

bel_A(2:4)=M(2:4);
bel_A(5)=M(5)+M(2)+M(3);
bel_A(6)=M(6)+M(2)+M(4);
bel_A(7)=M(7)+M(3)+M(4);
bel_A(8)=1;
end

// 似真度函数Pl.m
function pl_A = Pl(bel_A)%似真度函数
pl_A=zeros(1,8);%初始化矩阵

pl_A(2)=1-bel_A(7);
pl_A(3)=1-bel_A(6);
pl_A(4)=1-bel_A(5);
pl_A(5)=1-bel_A(4);
pl_A(6)=1-bel_A(3);
pl_A(7)=1-bel_A(2);
pl_A(8)=1;
end

// 合成函数D_S.m
function m12=D_S(M1,M2)
K12=0;
N=length(M1);
m12_A=zeros(1,N);
    for i=1:N
        K12=K12+M1(i)*(1-M2(i));
        m12_A(i)=M1(i)*M2(i);
    end
    
m12=m12_A/(1-K12);
end

  • 8
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值