use*_*919 5 matlab kalman-filter
我正在尝试运行标准卡尔曼滤波器算法来计算可能性,但在计算正态密度时我不断遇到非正定方差矩阵的问题。我做了一些研究,发现实际上可能存在一些数值不稳定的情况;尝试了一些数值方法来避免非正定矩阵,使用 choleski 分解及其变体 LDL' 分解。我正在使用MatLab。有人建议什么吗?谢谢。
当我需要长时间运行卡尔曼滤波器时,我曾经遇到过可能相同的问题,但随着时间的推移,我的协方差矩阵会退化。这可能只是由于数值误差而失去对称性的问题。强制协方差矩阵(我们称之为P
)保持对称的一种简单方法是:
P = (P + P')/2 # where P' is transpose(P)
Run Code Online (Sandbox Code Playgroud)
估计完之后P
。