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

  由两个或以上的二元一次不等式

2x+y>5,   

x-2y>1。   

组成的不等式组。与一元一次不等式组类似,二元一次不等式组的解也是每个不等式的解集的公共部分。

  把不等式组转化为两个函数形式的不等式

y>-2x+5,   

      y<(1/2)x-1/2       

  在同一个直角坐标系中把这两个不等式画在上面,公共的部分就是这个不等式组的解。如下图,交叉阴影部分即为不等式组的解,作图代码附录1

 

  例题1解下面不等式组

3x-y≥4,   

2x+y≥3。   

解:把不等式组转化为两个函数形式的不等式

y≤3x-4,   

 y≥-2x+3       

  在同一个直角坐标系中把这两个不等式画在上面,公共的部分就是这个不等式组的解。如下图,交叉阴影部分即为不等式组的解,作图代码附录2

 

 

  例题2解下面不等式组

3x>4,   

x+2y≤3。  

  分析:是一元一次,未知数是x,可以认为是x=4/3这条垂直与x轴的直线的右边。

  解:把不等式组转化为

x>4/3         

 y≤-(1/2)x+3/2       ④

  在同一个直角坐标系中把这两个不等式画在上面,公共的部分就是这个不等式组的解。如下图,交叉阴影部分即为不等式组的解,作图代码附录3

 

  例题3解下面不等式组

3x+6y>-4,   

x+2y≤6。  

解:把不等式组转化为两个函数形式的不等式

y>-(1/2)x-2/3,   

 y≤-(1/2)x+3       

  在同一个直角坐标系中把这两个不等式画在上面,公共的部分就是这个不等式组的解。如下图,重叠阴影部分即为不等式组的解,作图代码附录4

 

  例题4解下面不等式组

3x-y>-1,   

6x-2y≤-6。  

解:把不等式组转化为两个函数形式的不等式

y<3x+1,   

 y≥3x+3       

  在同一个直角坐标系中把这两个不等式画在上面,公共的部分就是这个不等式组的解。如下图,没有重叠阴影部分,即不等式组无解,作图代码附录5

 

练习题:解下面不等式组

(1)

2x-y≥4,  

3x+y≥3    

(2)

2y>4,   

x+2y≤6。  

(3)

2x+4y>-3, 

x+2y≤5。  

(4)

2x-y>4,    ①

4x-2y≤-3。  

 

附录1

import turtle as t
import math
from fractions import Fraction
t.setup(500,500)
t.screensize(400,400)
t.up()
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(0,-200)
t.seth(90)
t.down()
t.fd(400)
t.stamp()
t.up()
t.setpos(-5,190)
t.write("y",align="right")
#画函数虚线
t.setpos(-75,200)
t.seth(math.atan(-2)*180/math.pi)
d=0
dx=5**0.5
dy=-dx*2
x,y,n =-75, 200, 0
while x<=200:
    n+=1
    if n % 2 == 0:
        t.up()
    else:
        t.down()
    t.fd(5)
    if d %10 ==0:
       pos=t.pos()
       t.down()
       t.sety(200)
       t.up()
       t.setpos(pos)    
    d+=5
    x+=dx
    y+=dy   
t.up()   
t.setpos(50,100)
t.pencolor("red")
t.write("2x+y>5")

t.pencolor("black")
#画函数虚线
t.setpos(-390,-200)
t.seth(math.atan(1/2)*180/math.pi)
d=0
dy=5**0.5
dx=dy*2
x,y,n =-390, -200, 0
while x<=200:
    n+=1
    if n % 2 == 0:
        t.up()
    else:
        t.down()
    t.fd(5)
    if d %10 ==0:
       pos=t.pos()
       t.down()
       t.setx(200)
       t.up()
       t.setpos(pos)    
    d+=5
    x+=dx
    y+=dy   
t.up()   
t.setpos(50,-100)
t.pencolor("red")
t.write("x-2y>1")
t.ht()
 
附录2
import sys
sys.path.append("/5xstar/pyfiles")
from mymath.rcs import *
import turtle as t
t.setup(500,500)
t.screensize(400,400)  
t.up()
build(t)
a=3
b=-4
def f(x):    
    return a*x+b  
#y≤3x-4
d=0
end=10*a+(10+b)
while d<end:
    trace(t,-10,10,f)
    b-=1
    d+=1  
t.pencolor("blue")
t.setpos(10,-100)
t.write("3x-y≥4")

t.pencolor("black")
#y≥-2x+3
a=-2
b=3
d= 0
end=10*(-a)+(10-b)
while d<end:
    trace(t,-10,10,f)
    b+=1
    d+=1
t.pencolor("blue")
t.setpos(10,100)
t.write("2x+y≥3")
t.ht()

附录3
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)
#x>4/3
px=Fraction(4,3)
#虚线
t.setpos(20*px,-200)
dwn=True
t.seth(90)
num=0
maxNum=400//5
while num<maxNum:
    if dwn:
        dwn=False
        t.down()
    else:
        dwn=True
        t.up()
    t.fd(5)
    num+=1   
px+=1    
while px<10:
    t.up()
    t.setpos(20*px,-200)
    t.down()
    t.fd(400)
    px+=1   
t.pencolor("blue")
t.up()
t.setpos(100,100)
t.write("3x>4")

t.pencolor("black")
#y≤-(1/2)x+3/2    
a=-Fraction(1,2)
b=Fraction(3,2)
def f(x):    
    return a*x+b  
d=0
end=10*(-a)+10+b
while d<end:
    trace(t,-10,10,f)
    b-=1
    d+=1  
t.pencolor("blue")
t.setpos(-100,-100)
t.write("x+2y≤3")
t.ht()

 

附录4

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)

#y>-(1/2)x-2/3    
a=-Fraction(1,2)
b=-Fraction(2,3)
def f(x):    
    return a*x+b  
#虚线
p=-10
while p<10:
    trace(t,p,p+Fraction(1,2),f)
    p+=1
d=1
b+=1
end=10*(-a)+10-b
while d<end:
    trace(t,-10,10,f)
    b+=1
    d+=1  
t.pencolor("blue")
t.setpos(100,100)
t.write("3x+6y>-4")

t.pencolor("red")
#y≤-(1/2)x+3
b=3
d=0
end=10*(-a)+10+b
while d<end:
    trace(t,-10,10,f)
    b-=1
    d+=1  
t.pencolor("blue")
t.setpos(-100,-100)
t.write("x+2y≤6")
t.ht()

附录5
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)

#y<3x+1    
a=3
b=1
def f(x):    
    return a*x+b  
#虚线
p=-10
while p<10:
    trace(t,p,p+Fraction(1,16),f)
    p+=Fraction(1,8)
end=10*a+10+b
d=1
b-=1
while d<end:
    trace(t,-10,10,f)
    b-=1
    d+=1  
t.pencolor("blue")
t.setpos(100,50)
t.write("3x-y>-1")

t.pencolor("red")
#y≥3x+3
b=3
d=0
end=10*a+10-b
while d<end:
    trace(t,-10,10,f)
    b+=1
    d+=1  
t.pencolor("blue")
t.setpos(-100,50)
t.write("6x-2y≤-6")
t.ht()