刷刷数学题,避免老年痴呆。
在youtube上看到这么一道题,觉得有点意思,就记了下来。
方程组如下:
x2 - yz = 2 y2 - xz = 3 z2 - xy = 5
求
x, y, z的值
视频里面也说了有很多解法,但大多比较ugly,推荐了一个:
不失一般性,令 x2 - yz = a ...... (1) y2 - xz = b ...... (2) z2 - xy = c ...... (3) (1)式左右各乘y,(2)式左右各乘z,(3)式左右各乘x x2y - y2z = ay y2z - xz2 = bz z2x - x2y = cx 3个方程加起来,左边均抵消为0 得: 0 = ay + bz + cx 又 (1)式左右各乘z,(2)式左右各乘x,(3)式左右各乘y 相加抵消后得到: 0 = az + bx + cy 两方程可以换成向量点积的表达: <x, y, z> * <c, a, b> = 0 <x, y, z> * <b, c, a> = 0 如a, b, c均不为零 则<x, y, z> 为与 <c, a, b>和<b, c, a>所在平面垂直的向量 令z = 1, cx + ay = -b bx + cy = -a 求得 x = (a2 - bc)/(c2 - ab) y = (b2 - ac)/(c2 - ab) 因此 x = k(a2 - bc) y = k(b2 - ac) z = k(c2 - ab) 代入原方程(1)中求k k2(a2 - bc)2 - k2(b2 - ac)(c2 - ab) = a k = 1 /(a3 + b3 + c3 - 3abc)1/2 因此 x = (a2 - bc)/(a3 + b3 + c3 - 3abc)1/2 y = (b2 - ac)/(a3 + b3 + c3 - 3abc)1/2 z = (c2 - ab)/(a3 + b3 + c3 - 3abc)1/2 将2, 3, 5分别代入即可 x = -11 / 701/2 y = -1 / 701/2 z = 19 / 701/2
这道题本身有特殊性,只是向量点积的方式会比较优雅。