强基初中数学&学Python——第六十二课 函数与方程之六:二元一次函数与三元一次方程组

  二元一次函数就是2个自变量的函数,从最简单的二元一次函数

z=x+y

开始,探索二元一次函数的秘密。

  在平面坐标系中画y=x直线作为y轴,原来的y轴变为z轴,这样就成了立体直角坐标系。把空间中的点转为平面中的点方法:x坐标不变,y坐标除以根号2再加z坐标。作图如下图(虚线在x,y平面之下,绿色线在x,y平面中,实线在x,y平面之上),作图代码见附录1

 

从图中可以看到,二元一次函数的图象是立体直角坐标系中的一个平面

  也许好奇的同学会想,三元一次函数的图象又是什么样子呢?很遗憾,因为我们的视觉最多是三维空间,三元一次函数的图象每个点(x,y,z,p)都有四个分量,是四维空间中的图象,没办法展示了,只能靠想象。由于一元一次函数是一条直线,我们把一次函数叫做线性函数,把一次方程叫做线性方程把一次方程组叫做线性方程组。

  现在我们讨论下面两个二元一次函数

z=x+y+5

z=x+y-5

的关系。未知数和系数都相同,只是常数项不同。对于z=x+y-5平面上的一点(x,y,z)z=x+y+5平面上有而且只有一点(x,y,z+10)和它对应,反之亦然。因此这两个平面没有公共点,平行了。作图验证,作图代码附录2

 

绿色线为x,y平面上的线,可见两个平面平行。

  把这两个函数看作三元一次方程

x+y-z=-5

x+y-z=5

就成了方程组,类比二元一次方程组可得:未知数的系数比全等,如果常数为0或比也相等,是同一条方程,如果常数不为0且比不相等,方程的对应平面平行,含这两条方程的方程组无解。

  例题1判断下面三元一次方程组有无解:

x+2y+3z=7  ①

3x+2y+z=13  ②

x+y+z=9   ③

解:①+②,得

4x+4y+4z=20

x+y+z=5   ④

可见的未知数的系数比相等,但常数比不相等,是两个平行的平面,所以原方程组无解。

  三元一次方程组(三条方程)中,如果存在1条方程或2条方程通过加减法构造出1条方程,这条方程与另一条方程未知数系数比全等,但常数不为零且比不相等,原方程组无解;若常数为0或比也相等,则原方程组可能有无数解。事实上,这个规则在所有的线性方程组中适用。

  例题2解下面三元一次方程组

x+y+z=12,    

x+2y+5z=22,   

 x=4y。     

分析:我们已经学过二元一次方程组的解法,只要能把三元一次方程组转化为二元一次方程组,问题就解决了。

解:把代入①②,得

5y+z=12,    

6y+5z=22。   

④×5,得

19y=38

y=2

y=2代入,得

z=2

y=2代入,得

x=8

因此这个三元一次方程组的解是

x=8

y=2

z=2

  三元或更高元的方程组的解法就两个字:转化。用代入消元法或加减消元法降低方程组的元数,直到是一元一次方程,然后反向代入数值得到方程组的解。

 

练习题:判断下面方程组有无数解、无解或有唯一解,有唯一解的请把它解出来。

(1)

x+2y-4z=11, 

2x+4y=8z+5, 

3x+4y=16。  

2

x-3y+5z=23, 

2x-y=5z+5, 

3x-4y=14。  

3

2x+4y+3z=9, 

3x-2y+5z=11, 

5x-6y+7z=13。  

4

xy=32, 

yz=54, 

x+y+z=66。  

5

4x-9z=10, 

2x-y+5z=5, 

6x-y-4z=15。  

6

x+y-z=11, 

x-y+z=3, 

-x+y+z=4。  

7

x+3y-5z=5, 

x-2y+4z=7, 

4x+2y-2z=24。  

 

附录1

import sys
sys.path.append("/5xstar/pyfiles")
from fractions import Fraction
from mymath.rcs import *
import turtle as t
t.setup(500,500)
t.screensize(400,400)
t.up()
build(t)
t.clear()
t.setpos(-200,0)
t.seth(0)
t.shape("classic")
t.down()
t.fd(400)
t.stamp()
t.up()
t.sety(-20)
t.write("x",align="right")
t.setpos(-200/2**0.5,-200/2**0.5)
t.seth(45)
t.down()
t.fd(400)
t.stamp()
t.up()
t.sety(200/2**0.5-20)
t.write("y",align="right")
t.setpos(0,-200)
t.seth(90)
t.down()
t.fd(400)
t.stamp()
t.up()
t.setpos(-5,190)
t.write("z",align="right")
z=0
def f(x):    
    return (z-x)/2**0.5+z  
#y=z-x
t.pencolor("green")
trace(t,-6,6,f)
t.pencolor("blue")
for i in range(-6,0):
    z=i
    trace(t,-6,-5,f)
    trace(t,-4,-3,f)
    trace(t,-2,-1,f)
    trace(t,0,1,f)
    trace(t,2,3,f)
    trace(t,4,5,f)
    trace(t,5.9,6,f)
z=-4
t.setpos(-2*20,20*f(-2))
t.dot()
t.setx(-35)
t.write("(-2, -2, -4)")
t.pencolor("red")
for i in range(1,6):
    z=i
    trace(t,-6,6,f)
z=4
t.setpos(2*20,20*f(2))
t.dot()
t.setx(45)
t.write("(2, 2, 4)")
t.ht()

附录2

import sys
sys.path.append("/5xstar/pyfiles")
from fractions import Fraction
from mymath.rcs import *
import turtle as t
t.setup(500,500)
t.screensize(400,400)
t.up()
build(t)
t.clear()
t.setpos(-200,0)
t.seth(0)
t.shape("classic")
t.down()
t.fd(400)
t.stamp()
t.up()
t.sety(-20)
t.write("x",align="right")
t.setpos(-200/2**0.5,-200/2**0.5)
t.seth(45)
t.down()
t.fd(400)
t.stamp()
t.up()
t.sety(200/2**0.5-20)
t.write("y",align="right")
t.setpos(0,-200)
t.seth(90)
t.down()
t.fd(400)
t.stamp()
t.up()
t.setpos(-5,190)
t.write("z",align="right")
z=0
b=5
def f(x):    
    return (z-x-b)/2**0.5+z  
#y=z-x-5
t.pencolor("green")
trace(t,-10,-1,f)
t.pencolor("blue")
for i in range(-10,0):
    z=i
    j=-10
    while j<-1:
        trace(t,j,j+1,f)
        j+=2
t.pencolor("red")
z=1
Y=20*f(-2)
X=-2*20
t.setpos(X,Y)
t.dot()
t.sety(Y-20)
t.write("(-2, -2, 1)   z=x+y+5", align="right")
for i in range(1,10):
    z=i
    trace(t,-10,-1,f)
#y=z-x+5
z=0
b=-5
t.pencolor("green")
trace(t,1,10,f)
t.pencolor("blue")
for i in range(-10,0):
    z=i
    j=1
    while j<10:
        trace(t,j,j+1,f)
        j+=2
z=-1
t.setpos(2*20,20*f(2))
t.dot()
t.setx(45)
t.write("(2, 2, -1)   z=x+y-5")
t.pencolor("red")
for i in range(1,10):
    z=i
    trace(t,1,10,f)
t.ht()