用Matlab计算jacobian矩阵解析解
用Matlab计算jacobian矩阵解析解
做扩展卡尔曼滤波(EKF)的时候需要用到jacobian矩阵。有时手工求解难度较大这时可以用Matlab自动求出jacobian矩阵的解析解。
以雷达观测矩阵为例为例
syms x y vx vy %定义符号变量
jacobian([sqrt(x2+y2), atan(y/x),(xvx + yvy)/(sqrt(x2+y2))], [x; y; vx;vy])
输出的结果比较复杂, 进行多项式简化
ss = vx/(x^2 + y2)(1/2) - (x(vxx + vyy))/(x^2 + y2)(3/2)
simplify(ss)
输出结果为:
(vxy^2 - vyxy)/(x^2 + y2)(3/2)
对比文献上的公式是一样