📄 kf_loop.m
字号:
%KF_LOOP Performs the prediction and update steps of the Kalman filter% for a set of measurements. %% Syntax:% [MM,PP] = KF_LOOP(X,P,H,R,Y,A,Q)% % In:% X - Nx1 initial estimate for the state mean % P - NxN initial estimate for the state covariance% H - DxN measurement matrix% R - DxD measurement noise covariance% Y - DxM matrix containing all the measurements.% A - Transition matrix of the discrete model (optional, default identity)% Q - Process noise of the discrete model (optional, default zero)% % Out:% MM - Filtered state mean sequence% PP - Filtered state covariance sequence% % Description:% Calculates state estimates for a set measurements using the% Kalman filter. This function is for convience, as it basically consists% only of a space reservation for the estimates and of a for-loop which% calls the predict and update steps of the KF for each time step in% the measurements. % % See also:% KF_PREDICT, KF_UPDATE% History:% % 12.2.2007 JH Initial version. %% Copyright (C) 2007 Jouni Hartikainen%% This software is distributed under the GNU General Public % Licence (version 2 or later); please refer to the file % Licence.txt, included with the software, for details.function [MM,PP] = kf_loop(X,P,H,R,Y,A,Q) % Check the input parameters. if nargin < 5 error('Too few arguments'); end if nargin < 6 A = []; end if nargin < 7 Q = []; end % Apply the defaults if isempty(A) A = eye(size(X,1)); end if isempty(Q) Q = zeros(size(X,1)); end % Space for the estimates. MM = zeros(size(X,1), size(Y,2)); PP = zeros(size(X,1), size(X,1), size(Y,2)); % Filtering steps. for i = 1:size(Y,2) [X,P] = kf_predict(X,P,A,Q); [X,P] = kf_update(X,P,Y(:,i),H,R); MM(:,i) = X; PP(:,:,i) = P; end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -