文章目录
- 程序概况
- 源代码与注释
- 运行结果
- 代码块解析
程序概况
基于MATLAB的EKF(扩展卡尔曼滤波)代码解析。状态转移和观测都是非线性的,也就是说会涉及到雅克比矩阵的求解。我尽量将模型设计复杂一点,便于拿到手以后改成自己想要的形式。
源代码与注释
下载链接(需付费,谨慎消费):https://download.csdn.net/download/callmeup/89673052
或关注这一篇文章,订阅专栏后可以获得更多的代码,专栏持续更新中:https://blog.csdn.net/callmeup/article/details/141506480
运行结果
第一幅图是三维的状态量输出与对比:
第二幅图是三维的误差值时序图对比:
第三幅图是三轴的误差CDF图像对比:
CDF图像:CDF(Cumulative Distribution Function)是指概率分布函数的累积分布函数,用于描述连续随机变量的概率分布。CDF图像是指以随机变量为横坐标,以累积概率为纵坐标的图形,用来展示随机变量的累积概率分布。在图像中,横坐标表示随机变量的取值,纵坐标表示该取值对应的累积概率。
代码块解析
绘图模块:主要使用plot绘制时序图,t是1:100的向量,将其与
X
X
X或
X
e
k
f
X_{ekf}
Xekf连用,代表X轴为1~100,Y轴的值为后面
X
X
X或
X
e
k
f
X_{ekf}
Xekf的值:
绘制CDF图像的代码块:
在figure后面加上hold on,可以固定住窗口上的图像,在绘制新图时,旧图不会被抹去。
误差计算:如下
使用fprintf这个输出的语句,后面引号内的紫色内容直接输出,%d为整型,在输出时%d的位置输出后面的计算内容。
如需更多讲解,见文章末尾的卡片,可以添加微信。