80522957 发表于 2007-5-31 17:44

难道我这个循环写错了?

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

pengweicai 发表于 2007-5-31 18:35

K=Pxe*H'*inv(H*Pxe*H'+R); % Kalman滤波增益
      H 定义没?
页: [1]
查看完整版本: 难道我这个循环写错了?