[已答复] 扩展卡尔曼滤波的问题

[复制链接]
rx6682912 发表于 2010-10-12 17:05:08
%初始化
T=1;hits=500;                                  % 采样周期,采样点数
xe=0;ve=10;ae=0;xn=0;vn=10;an=0;               % 状态向量初值
X0=[xe ve ae xn vn an]';
P0=diag([100,1,0.04,100,1,0.04]);              % 估计误差协方差阵初值
e_Q=16;n_Q=15;w_Q=0.005;s_Q=0.7;               % 观测噪声标准差
re=1;rn=1;
O3=zeros(3,3);

W = wgn(6,1,1);
                                               % 模型噪声协方差阵
q1=0.5*re^(-5)*(1-exp(-2*re*T)+2*re*T+2*re^3*T^3*3^(-1)-2*re^2*T^2-4*re*T*exp(-re*T));
q2=0.5*re^(-4)-2*exp(-re*T)-2*re*T+re^2*T^2+2*re*T*exp(-re*T);
q3=0.5*re^(-3)*(1-exp(-2*re*T)-2*re*T*exp(-re*T));
q4=q2;
q5=0.5*re^(-3)*(-3-exp(-2*re*T)+4*exp(-re*T)+2*re*T);
q6=0.5*re^(-2)*(1+exp(-2*re*T)-2*exp(-re*T));
q7=q3;
q8=q6;
q9=0.5*re^(-1)*(1-exp(-2*re*T));
Qe=[q1 q2 q3;q4 q5 q6;q7 q8 q9];
Qn=Qe;
Q=[2*Qe O3;O3 2*Qn];

R=diag([e_Q^2,n_Q^2,w_Q^2,s_Q^2]);           % 观测噪声协方差阵

% 模拟观测向量(滤波器输入信号)
Fe=[1 T (T^2)/2;0 1 T;0 0 1];                % 状态转移矩阵
Fn=Fe;
F=[Fe O3;O3 Fn];
ae_Q=0.3;an_Q=0.3;                            % 模型噪声
noise_ae=ae_Q*randn(1,hits);
noise_an=an_Q*randn(1,hits);
Ohits=zeros(1,hits);
for t=1:T:hits                                 % 状态向量
    if(t==1)
        %X(:,t)=X0+W(:,t);
        X(:,t)=X0;
    else
        X(:,t)=F*X(:,t-1)+W(:,t-1);
    end

显示??? Index exceeds matrix dimensions.怎么改,请大侠赐教


[ 本帖最后由 cwjy 于 2010-10-12 23:45 编辑 ]

2 条回复


woihll 发表于 2012-4-24 15:02:44
首先,for语句少一个end;其次,W的下标越界了,你看看W定义的维数和hits的大小

tianyuwuhe 发表于 2013-11-11 20:47:33
牛逼人物
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表