难道我这个循环写错了?
Xest=zeros(3,1); % 用前k-1时刻的输出值估计k时刻的预测值:X^(k+1/k)Xfli=zeros(3,1);%k时刻Kalman滤波器的输出值:X^(k/k)
Pxe=zeros(3,1); % 预测输出误差均方差矩阵:P(k+1/k)
Px=zeros(3,1);%滤波输出误差均方差矩阵:P(k/k)
XE=zeros(3,offtime); % 得到最终的滤波输出值
Xfli='; %利用前两个观测值来对初始条件进行估计
Px=;
for k=1:0fftime
Pxe=Phi*Px*Phi'+Q; % 预测误差的协方差阵
K=Pxe*H'*inv(H*Pxe*H'+R); % Kalman滤波增益
Px=(eye(3)-K*H)*Pxe; %协方差更新
Xest=Phi*Xfli; % 预测该时刻的状态
Xfli=Xest+K*(Zk-H*Xest); %状态更新
O(k)=Xfli(1,1);
M(k)=Xfli(2,1);
N(k)=Xfli(3,1);
end
XE=;
怎么显示k的大小是0*0的,而且XE也0 K=Pxe*H'*inv(H*Pxe*H'+R); % Kalman滤波增益
H 定义没?
页:
[1]