geogebra求解二元二次方程一例

微信图片_20220528215652

工作的时候每个人表现各自不同。我写代码的时候骂骂咧咧,写到兴头上“破玩意”“啥玩意”之声不绝于口。二猫聚精会神的时候嘟嘟囔囔,“怎么回事怎么回事,怎么会有俩解呢”。二猫妈就会出现,“是因为有俩解,你看这里……”两个开始嘀嘀咕咕解题,一会儿哈哈大笑,“对啊对啊,你看果然吧。”

我猜测应该是个二次方程,如果画图的话,两条曲线两个交点,这样讲解两个解会更一目了然。于是祭起强有力的法器 geogebra,问,“啥题这么有意思,给我看看呗。”

1. 题目

是这么道题。

image1

二猫口头讲解,x2就是x^2,y2就是y^2。也不知道从哪找来的题,排版可真够粗糙的了。

我看都没看,就往 geogebra 里录入。

右上解,选 CAS和绘图区两个视图(这玩意叫做视图么?)。

image2

两个方程

eq1: x*y + x + y = 10
eq2: x^(2) y + x y^(2) = 24
image3

对应XOY平面直角坐标系中的两条曲线, eq1设置成蓝色,eq2设置成红色。

image4

交点呢,没看到啊?放大一下。在第一象限,两条曲线贴得很紧,不过确实有两个交点。书中暗表,我的错误就从这里开始埋下伏笔。这是两个交点不假,但是题目所求的并不是交点,而是x^2+y^2. 此两解并非彼两解,我无意中偷换了概念。

image5

当时我并不知道此处有坑,就昂首阔步走下去了。

2. 解方程

精确解({eq1,eq2},{x,y})

此处忍不住跳出来评论一下。不知道是geogebra原生如此,还是国内做的本地化。用汉语指令“精确解”,确实能为使用者降低门槛,翻译也符合国内的使用习惯。然而,当用户想查细节去找手册的时候,却没有汉语只有英文的。如果不知精确解这条指令在英文的手册中是如何称呼的,就连条目都查不到。

solve({eq1,eq2},{x,y})
image6两个交点,两个解。而且这两个解在图中正是两条曲线的交点,横轴以3为中心对称,±根号5,纵轴以3为中心对称,±根号5,两个值刚好互换……

等等!互换?这道题求的是x^2+y^2,如果把x和y互换,那不就应该只有一个解吗?这时注意到了刚刚的坑,解非解。

3. 验算

二猫和二猫妈解出两个解,数值不等。

验证一下,我猜得对不对,看起来x和y可以互换啊。顺便,我求出来的是两个解中的哪一个呢?

element(element(solutions({eq1,eq2},{x,y}),1),1)^2+element(element(solutions({eq1,eq2},{x,y}),1),2)^2
image7

二猫和二猫妈的两组解中,确实有一组是28。然而另一组解不是28,我的另一组,交换x和y却仍然是28。

4. 再验算

把求得的x和y代回方程中,看左右两边是否相等。

x1:element(element(solutions({eq1,eq2},{x,y}),1),1)
y1:element(element(solutions({eq1,eq2},{x,y}),1),2)
x1^(2)*y1+x1*y1^(2)
x1*y1+x1+y1
image8

都与预期完全符合。

或者

x1:element( element(solve({eq1,eq2},{x,y}),1),1)
-> x = -sqrt(5) + 3
y1:element( element(solve({eq1,eq2},{x,y}),1),1)
-> y = sqrt(5) + 3

5. 咦?

我求得的两组x,y(以及再求得的一组x^2+y^2),代回方程没问题,只能证明这两组解是对的。但是并不能表明就没有别的解了。

6. 复数解

突然就对 精确解 这个术语所暗示的含义产生了怀疑。通常会觉得,与精确相对的是模糊吧,即,不用 3+sqrt(5),而是求解为 5.24 这样?

image9

跟二猫妈讨论,咋知道你们的另外一组x^2+y^2解对应的x和y是实数呢?二猫妈说,另一组x^2+y^2是4,是实数啊,而且是正的。

x^2如果是正的,那么x就是实数。但是x^2+y^2是正的,可能x^2是负的(因此x不是实数),但是y^2是个更大的正数呢。

再解一次。

csolve({eq1,eq2},{x,y})
image10

果然,坏人在这里!还有两个解,都是有i的。

验算略去,代回原方程也都对,x^2+y^2也是正的没错,并且不是28。

image11

矩阵一下,对换x和y以后确实应该相等。。

image12

7. 近似解

既然到了这一步,近似解也跑一遍吧。

image13

很好玩。

8.竞赛题

按题目要求,x^2+y^2到底几个解呢?回顾一下。

image1

你以为是两个解?并不。二猫和二猫妈辛苦解出的答案为4的那组解需要舍掉。因为题目里说“已知x,y都是实数”。表面上看,这半句是用来降低题目难度的,然而,这是用来提升题目难度的。因为这是一道竞赛题,而不是 geogebra演示题。所以,拿到这道题的人,如果不是像我一样傻乎乎地求出每个x和y,那么一定会换元,直接求出x^2+y^2,而不经过求出x和y这一步骤。非常容易地,就会以为这道题不过如此非常容易,忽略了对求解结果的delta的检验。明明多求了两个复数解,却不符合题目要求了。

这是一道竞赛题,竞赛题哪有不骗人的。

所以说,处处是坑。我最开始做的结果就是对的,然而我并不知道自己用错了函数,瞎猫碰到死耗子,盲人骑瞎马跨过去没踩到而已,并不是远远地躲开了坑。二猫和二猫妈用了高级的手法,但是没有注意到表面降难度的条件却是坑。掉进去又出来,出来以后发现踩在另一个坑里,再出来发现还有一个坑。这就是最好玩的地方。

微信图片_20220528215636

Leave a Reply

Your email address will not be published.