如何使4个向量(所有你知道的方向,但你可以设置大小)加起来一个已知的向量?

2024-05-21 12:44:42 发布

您现在位置:Python中文网/ 问答频道 /正文

如果你有4个向量,你知道它们的方向(所有的方向都可能不同),你可以改变它们的大小,如果你想把所有的4个向量加起来,变成另一个你知道的向量,你会把它们的大小设成什么?你知道吗

这似乎有点过于具体的问题,但我问这个问题的原因是我与kRPC为KSP做的一个程序,其中4个倾斜的发动机悬停在一架飞机上,即使整个飞机是倾斜的。我试着搜索它,但我不知道到底要搜索什么。我不太懂向量的数学。谢谢!你知道吗


Tags: 程序原因数学方向向量发动机ksp飞机
2条回答

据我所知,你们试图求向量和,你们正在寻找一个特殊的解来得到一个结束向量。在某种程度上,你是在问如何解决这样一个问题:

a1V1+a2V2+a3V3+a4V4=aV

其中V是向量,a是magitues。我假设V是固定的(你的计划喷气机的定位方式?)。我也假设你的向量是三维的

所以单从数学上来说,你就有3个维度和4个参数。意思是“a”可以是任何东西。如果不知道确切的向量,我想我也帮不了什么忙。你知道吗

就代码而言,“a”的求解是试图求解线性方程组,通常使用scipy的linalg: https://docs.scipy.org/doc/scipy-0.15.1/reference/linalg.html 特别地,scipy.linalg.solve解决方案(). 你知道吗

同样,你必须非常清楚问题的维数如果你用矩阵的4个向量,你会遇到很多问题。在尝试解方程之前,必须先确定一个“a”值。你知道吗

编辑:我对这个问题考虑得更多了,我意识到系统中有一个约束,那就是‘a’不能是负的。所以看起来这个系统有独特的解决方案。你知道吗

它可能并不总是可能的,它将取决于向量。从技术上讲,目标向量必须在四个输入向量的linear span中。你知道吗

你可以把它写成下面的矩阵方程:

Ax = b

用目标向量,b系数求和系数,x将四个向量按列叠加而成的矩阵。x向量存在的充要条件是A矩阵是可逆的。你知道吗

您可以使用^{}函数来解决这个问题。你知道吗

在您的例子中,如果您有4个维度为3(或2)的向量,您可能会遇到问题:在这种情况下,不仅有一个解决方案,而且会变得棘手。实际上,您需要去掉一个(或两个)向量以只保留3个(或2个)独立向量。你知道吗

您仍然可以使用^{}来获得近似解。你知道吗

相关问题 更多 >