现在我们给出一个方程组然后嘗试用矩阵解方程组来求解。
在连载十六中我们给出了曲线类型的判断法则:
Δ<0时,方程为椭圆(包括正圆)
Δ>0时方程为双曲线
Δ=0时,方程为抛物线
现在我们来判断给定的两条方程的曲线类型
双曲线的标准方程为x^2-y^2=1消元也会产生根号,所以我们用第一条方程做矩阵解方程组变换
然后,我们用连载十六的方法通过旋转一个θ角消去xy项,使其向标准抛物线靠拢
把旋转角的计算方法搬过来
代入到cosφ中,得到
所以我们套-45度的逆矩阵解方程组到第一条方程中即可。
现在我们是手算所以完全可以把前面的系数去掉以简化,只要后面的方程用哃样的矩阵解方程组即可
代入到第一条方程,得到
虽然不是标准方程但是似乎没有必要再往下化简了。因为用Y表示X的式子已经非常简潔清晰
代入到第二条方程得到
这个方程我就不手动解了,直接扔到四次方程的类中求解得到如下结果:
即可把4组解都求出来。
虽然演算过程看起来挺长但却通过一个简单的换元公式巧妙地躲开了开方和去根号的运算。而这个换元公式看似简单实则蕴含了丰富的矩阵解方程组思想,是矩阵解方程组史诗级玩法返璞归真的最好见证!
我们可以用矩阵解方程组来解二元二次方程组了那么更高次数的方程峩们可以解出来么?就我目前的认知范围来看是没有办法完全做到的。原因在于三次曲线并不能通过矩阵解方程组变成固定的标准曲线如下图,同样是三次贝塞尔曲线它们之间就无法用一个矩阵解方程组实现转换。
但是也能借助这一思路进行简化比如化简其中一条為y=x^3,然后代入到另一条中
事实上,一元三次方程的卡尔丹公式正是矩阵解方程组变换的体现在去掉二次项的时候,我们用到了如下的換元公式
x和y之间虽然只是相差一个常数,但若站在矩阵解方程组的角度来思考它不正是一个平移的矩阵解方程组吗?
至此矩阵解方程组史诗级玩法系列教程已经接近尾声。但是我并没有在这篇的标题上加上“完”字因为更返璞归真的事情还在后面。我将给大家布置┅个小作业其中包含实现代码,但是核心算法的注释一句不写大家如果可以从中看出其实现原理,那恭喜你你已经毕业了!