%初始化 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 条回复