⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fusion2.m

📁 采用贝叶斯推论的数据融合
💻 M
字号:
function X = Fusion2(chan, Taylor)
%%本程序实现第二层数据融合,采用贝叶斯推论
%           - 参数chan是一i行,2列的矩阵,每1行是【x,y】定位坐标(其中i为定位次数CalNum)
%           - 参数chan是一i行,2列的矩阵(其中i为定位次数CalNum)
%
%           - X    为移动台经算法处理后的位置.


%   参数检查:
if  nargout>1,
    error('Too many output arguments.');
end
if nargin<2 | nargin>4,
    error('Wrong number of input arguments.');
end
%算法开始,分别计算chan和泰勒算法的定位估计值的均值和方差
Cm = mean(chan);          %1行2列,第一个x,第二个为y的均值
Tm = mean(Taylor);
Cv = var(chan);           %1行2列,第一个x,第二个为y的方差
Tv = var(Taylor);
CTv = Cv + Tv;            %1行2列,第一个x,第二个为y的的分母,及两个方差和

% 经过贝叶斯推论后的定位估计
Vx = (Cv(1)*Tv(1))/(Cv(1) + Tv(1)); %贝叶斯后的方差,X坐标轴
Vy = (Cv(2)*Tv(2))/(Cv(2) + Tv(2)); %贝叶斯后的方差,Y坐标轴
Xlocat = (Tv(1)*Cm(1))/CTv(1) + (Cv(1)*Tm(1))/CTv(1); %定位结果X轴
Ylocat = (Tv(2)*Cm(2))/CTv(2) + (Cv(2)*Tm(2))/CTv(2); %定位结果Y轴
Locat = [Xlocat,Ylocat];
if nargout == 1,
    X = Locat;
elseif nargout == 0,
    disp(Locat);
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -