center.m

来自「基于kalman滤波器的信息融合 用MATLAB应用举例实现」· M 代码 · 共 25 行

M
25
字号
function [xcter,Ptra, time] = center(xfilt,Vfilt)
%这个函数用于实现融合中心的加权平均算法
%输入:
%xfilt 各个传感器的滤波估计
%Vfilt 各个传感器的滤波方差
%输出:
%xcter 融合中心的估计值

[ss T L] = size(xfilt);%ss:状态数 T:时间长度 L:传感器个数

time = 0;

for i = 1:T
    tt = cputime;
    InvP = zeros(ss);
    PreX = zeros(ss,1);
    for j = 1:L
        InvP = InvP + inv(Vfilt(:,:,i,j));
        PreX = PreX + inv(Vfilt(:,:,i,j))*xfilt(:,i,j);
    end
    P0 = inv(InvP);
    xcter(:,i) = P0*PreX;
    time = time + cputime - tt;
    Ptra(i) = trace(P0);
end

⌨️ 快捷键说明

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