首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >求解具有4个未知数的大型方程组

求解具有4个未知数的大型方程组
EN

Stack Overflow用户
提问于 2019-04-16 23:19:52
回答 2查看 99关注 0票数 1

我有一个数据集,包括到约1800个融合雷达触点的距离和方位,以及到这些触点的实际距离和方位,我需要开发一个校正方程,以使感知的值尽可能接近实际值。

在可视化时,错误似乎有一种趋势,所以在我看来,应该有一个稍微简单的等式来纠正它。

这是~1800方程式的形式:

actual_distance = perceived_distance + X(percieved_bearing) + Y(speed_over_ground) + Z(course_over_ground) +A(标题)

求解X、Y、Z和A的最佳方法是什么?

此外,我不相信所有这些因素都是必要的,所以我完全愿意省略其中的一两个因素。

从我所理解的小线性代数来看,我尝试过这样的事情,但没有成功:

Ax =b --> x= b/A通过numpy.linalg.solve(A,b)

其中A是4 x ~1800矩阵,b是1 x ~1800矩阵

这是在正确的轨道上吗?

为了清楚起见,我希望为一个方程生成系数,该方程将校正接触的感知距离,以便它尽可能接近接触的实际距离。

如果有更好的方法,我也完全愿意放弃这个方法。

提前感谢您的帮助。

EN

回答 2

Stack Overflow用户

发布于 2019-04-16 23:32:09

求解这种方程组的最好方法是使用不完全Cholesky共轭梯度技术(ICCG)。这可以用Matlab语言实现,也可以用C++、Nag Fortran或许多其他语言实现。这是非常高效的。基本上,你是在对一个大的带状矩阵求逆。Golub的书对此进行了详细的描述。

看起来这很有用:

https://docs.scipy.org/doc/numpy-1.14.1/reference/generated/numpy.linalg.cholesky.html

票数 1
EN

Stack Overflow用户

发布于 2019-04-17 03:50:38

当你有比未知数更多的方程时,你可能没有精确的解决方案。在这种情况下,你可以做的就是使用矩阵A的摩尔-彭罗斯伪逆,A乘以b将给出最小二乘距离解。在numpy中,您可以使用https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.lstsq.html#numpy.linalg.lstsq

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55711567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档