这是一个利用卡尔曼预测的程序,plot应该得到的是两个有一定差距的折线,但是如下代码得到的两个折线却是重合在一起,求大神帮忙改改
DT=[42 28 62 30 26 21 4 1 3 5 1 3 4 14 29 27 36];
L=[5.67 7.68 7.27 8.23 7.92 9.66 11.18 11.62 9.18 11.47 11.41 10.03 8.66 8.35 6.53 7.20 6.66];%原始数据 H=[1 0];%观测方程系数
H=[1 0];%观测方程系数
X0=[5.87;0];%初始状态变量估值
D0=[1 0;0 1];%初始状态变量协方差阵
dt=1;%观测误差
for i=1:17
XKk=[1 DT(i);0 1]*X0;
DKk=[1 DT(i);0 1]*D0*[1 DT(i);0 1]'
+[0.5*DT(i)^2;DT(i)]*[0.5*DT(i)^2;DT(i)]';%计算一步预测值
J=DKk*H'*(H*DKk*H'+dt)^(-1);%计算增益矩阵
X=XKk+J*(L(i)-H*XKk);%滤波
D=(1-J*H)*DKk;
jgXKk(:,i)=XKk;
jgJ(:,i)=J;
jgX(:,i)=X;
X0=X;
D0=D;
end
t=1:17;
plot(t,L,'r-*',t,jgX(1,:),'b--o')

这个是我希望得到的
但是上面的代码只能得到下面的图形

DT=[42 28 62 30 26 21 4 1 3 5 1 3 4 14 29 27 36];
L=[5.67 7.68 7.27 8.23 7.92 9.66 11.18 11.62 9.18 11.47 11.41 10.03 8.66 8.35 6.53 7.20 6.66];%原始数据 H=[1 0];%观测方程系数
H=[1 0];%观测方程系数
X0=[5.87;0];%初始状态变量估值
D0=[1 0;0 1];%初始状态变量协方差阵
dt=1;%观测误差
for i=1:17
XKk=[1 DT(i);0 1]*X0;
DKk=[1 DT(i);0 1]*D0*[1 DT(i);0 1]'
+[0.5*DT(i)^2;DT(i)]*[0.5*DT(i)^2;DT(i)]';%计算一步预测值
J=DKk*H'*(H*DKk*H'+dt)^(-1);%计算增益矩阵
X=XKk+J*(L(i)-H*XKk);%滤波
D=(1-J*H)*DKk;
jgXKk(:,i)=XKk;
jgJ(:,i)=J;
jgX(:,i)=X;
X0=X;
D0=D;
end
t=1:17;
plot(t,L,'r-*',t,jgX(1,:),'b--o')

这个是我希望得到的
但是上面的代码只能得到下面的图形
