我有一个数据集,其中包括约 1800 个融合雷达触点的距离和方位以及这些触点的实际距离和方位,我需要开发一个校正方程以使感知值尽可能接近实际值值尽可能。
可视化时误差似乎有趋势,所以在我看来应该有一个稍微简单的方程来纠正它。
这是约 1800 个方程的形式:
实际距离 = 感知距离 + X(感知方位) + Y(地面速度) + Z(地面航向) + A(航向)
求解 X、Y、Z 和 A 的最佳方法是什么?
此外,我不相信所有这些因素都是必要的,因此我完全愿意忽略其中一两个因素。
从我理解的线性代数来看,我尝试过类似的事情,但没有运气:
Ax = b --> x = b/A 通过 numpy.linalg.solve(A, b)
其中 A 是 4 x ~1800 矩阵,b 是 1 x ~1800 矩阵
这是否走在正确的轨道上?
需要明确的是,我希望为一个方程生成系数整数,该方程将修正感知到的接触距离,使其尽可能接近实际的接触距离。
如果有更好的方法,我也完全愿意放弃这种方法。
感谢您提前提供的帮助。
最佳答案
求解此类方程组的最佳方法是使用:不完全乔列斯基共轭梯度技术 (ICCG)。这可以在 Matlab、C++ 数值配方、Nag Fortran 或许多其他语言中实现。其效率非常高。基本上你正在反转一个大的带状矩阵。 Golub 的书对此进行了详细描述。
看起来这很有用:
https://docs.scipy.org/doc/numpy-1.14.1/reference/generated/numpy.linalg.cholesky.html
关于python - 求解具有 4 个未知数的大型方程组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55711567/