我想在numpy中解一个线性方程组,以检查点是否与向量对齐
给出了矢量2的以下方程式:
point[x] = vector1[x] + λ * vector2[x]
point[y] = vector1[y] + λ * vector2[y]
Numpyslinalg.solve()提供了以以下形式求解两个方程的选项:
ax + by = c
通过在anumpy.array()中定义参数a和b
但我似乎找不到一种方法来处理一个固定参数的方程,比如:
m*x + b = 0
我是否遗漏了一点,或者我必须处理另一个解决方案
提前谢谢
Tags:
嗨,我会试着帮你回答这个问题
报告说:
注意矩阵上的假设
Lambda相同
如果点[x]和点[y]的
lambda
方程应该相同。然后连接所有向量假设这将过度决定您的系统,并且可能会。这意味着您有太多的方程,只有一个参数要确定(违反了确定良好的假设)。我的方法是使用最少的sqare
{a2}也有一个最小二乘法。式中,方程为
y = mx + c
求解。对于你的例子,这是y
=point[x],x
=vector2[x]和c
=vector1[x]这是从numpy.linagl.lstsq示例复制的:
Lambda不同
如果lambda不同。将vector2[x]和vector2[y]水平堆叠,就可以找到
[lambda_1, lambda_2]
。可能还有比lambds更多的方程,你会找到一个最小二乘解注
请记住,即使您从一条直线和一个固定的lambda构建系统。由于舍入和数值差异,您可能需要使用最小二乘法
你可以用Symphy解方程2*x+4=0:
相关问题 更多 >
编程相关推荐