首页 文章

如何用约束求解这个线性方程?

提问于
浏览
0

我有a1,a2,a3,b1,b2,b3作为已知值,所以我可以列出如下的两个方程式 . 但是,这还不足以让H解决 . 所以,还有额外的约束|| H || = 1 .

matrix H = [x y z]^T
[a1, a2, a3] H = 0
[b1, b2, b3] H = 0

我想问一下如何解决这个问题?

1 回答

  • 1

    H必须是[a1,a2,a3]和[b1,b2,b3]的叉积的一些倍数 . 计算,然后除以它的范数得到单位向量;减去也有效 .


    一般来说,如果不是0,而是a4和b4,以及|| H || = k:扫描(2乘4)矩阵,得到类似[c1 z d1,c2 z d2,z] ^ T的解 . 取正则的平方,将其设置为k ^ 2,然后在z中得到二次方程,得到0,1或2个解 .

    几何上:两个线性方程a1 x a2 y a3 z = a4和b1 x b2 y b3 z = b4中的每一个确定平面(1);如果它们不平行(2),它们的交点是一条线;解是该线与半径为k的以原点为中心的球之间的0,1或2个交点 . 在你的原始(3)情况下,飞机穿过原点,因此它们的交点也是如此 - 如果它们不同则是一条线(2);所以你得到了与单位球体的两个交叉点 .

    (1)除非[a1,a2,a3]或[b1,b2,b3]为[0,0,0] .
    (2)I.e . 如果向量[a1,a2,a3]和[b1,b2,b3]不是共线的 .
    (3)没有双关语意图 .

相关问题