强基初中数学&学Python——第五十九课 函数与方程之三:一次函数

  这里讨论的都是可以用函数解析法表示的函数。我们现在从最简单的函数:

y=x

开始研究函数。首先我们来看这个函数的图象:

 

可见,它是过原点的平分第一和第三象限的直线。如果用-x代替x,即:

y=-x

函数的图象:

 

可见,它是过原点的平分第二和第四象限的直线。

  用3x-3xx/3-x/3代替x,即:

y=3x

y=-3x

y=x/3

y=-x/3

为了更好说明问题,把它们和y=xy=-x画在一起(作图代码附录1):

 

注:y=xy=-x为黑色;y=3xy=-3x红色y=x/3y=-x/3蓝色 

  上面这些函数都是常数与自变量的积的形式。一般地,形如y=kxk是常数,k≠0)的函数,叫做正比例函数(proportional function),其中k叫做比例系数。由上图可得正比例函数图象(直线)的特性:

(1)都过原点。

(2)当k>0,在第一和第三象限,yx增大而增大;当k<0时在第二和第四象限,yx增大而减少。

(3)当k的绝对值大于1时,函数图象(直线)更靠近y轴;当k的绝对值小于1时,函数图象(直线)更靠近x轴。

  如果用一个一元一次多项式(±x±2)代替y=x(黑色线)中的自变量x,即y=x2y=-x+2(红色线)、y=x-2-x-2(蓝线),增加y=x(黑色线)(作图代码附录2):

 

可见,y=x+2y=-x+2的直线分别是y=xy=-x的直线向上平移2个单位,y=x-2y=-x-2的直线分别是y=xy=-x的直线向下平移2个单位。

  在正比例函数y=kx中增加1个常数项b就成了(一元)一次函数y=kx+b,当b>0时,图象直线向上平移b个单位;当b<0时,图象直线向下平移|b|个单位;当b=0时是正比例函数本身。

  一元一次函数y=kx+b(k≠0,b≠0)的图象直线的特点列举如下:

(1)过纵坐标轴上点(0, b)

(2)当k>0,过第一和第三象限,yx增大而增大,b>0过第二象限,b<0过第四象限;当k<0时在第二和第四象限,yx增大而减少,b>0过第一象限,b<0过第三象限。

(3)当k的绝对值大于1时,函数图象(直线)更靠近y轴;当k的绝对值小于1时,函数图象(直线)更靠近x轴。

  例题1:通过函数轨迹模块作y=4x-2y=-0.25x+3的图象,观察两条直线的关系,提出你的猜想,然后证明你的猜想。

解:作图(代码附录3

 

可见,两条直线互相垂直。由于常数线是直线的平移,因此这两条直线相应的正比例直线也是相互垂直的。看它们的

比例系数乘积=4×(-0.25)-1

从而得到猜想:比例系数乘积等于-1的两条一次函数直线相互垂直。

画直线y=axy=-(1/a)xa≠0)和y=bb≠0三条直线(作图代码附录4):

 

证明:

围成的三角形两边平方和

(-b*a)²b²+(b/a)²+b²

b²(a²+2+(1/a)²)

=(b*a+b/a)²

=第三边平方。

所以这两条直线垂直。

  例题2:已知坐标平面上两点(2, 5)(-4, -9),求这两点的对称轴直线的函数解析式。

解:由于一次函数的直线都可以由正比例函数平移所得,平移过程比例系数不变,设想把坐标系平移到(-4,-9)点,那另外一个点就是(6,14),因此,该直线与过(0,0)(6,14)直线的比例系数相同:

k=14/6=7/3

那对称轴的比例系数:

k'=-1/k=-3/7

对称轴过两点连线的中点:x=(2-4)/2=-1y=(5-9)/2=-2,即(-1, -2)点。

设对称轴的解析式是:y=-3/7x+b,则:

-2=3/7+b

b=-17/7

即 y=-3/7x-17/7

作图验证(代码附录5):

 

  例题3:已知函数y=4x-3,求过点(-1,1)并且与这个函数的图象直线平行的直线函数解析式。

解:由于与y=4x-3平行,设要求的函数是y=4x+b,则:

1=4×(-1)+b

b=5

得函数解析式为:y=4x+5

作图验证y=4x-3(黑色),y=4x+5(蓝色)(作图代码附录6):

 

例题4:已知一次函数的图象过点(3,5)(-4,-9),求这个一次函数的解析式。

解:设想把坐标系移到(-4,-9)点,那另一点坐标是(7,14),设这时的解析式是

y=kx

14=k×7

k=2

再设要求的解析式是

y=2x+b

5=2×3+b

b=-1

得要求解析式

y=2x-1

作图验证(作图代码附录7):

 

例题5:已知常数a≠0b≠0,直线y=-a²x+b²x轴交点坐标为______,与y轴交点坐标为________,图象经过________________象限,yx的增大而______

解:x轴交点,这时y=0,由0=-a²x+b²x=b²/a²,即与x轴交点坐标为(b²/a²,0);同理的与y轴交点坐标为(0, b²);由于-a²<0,直线必过第二和第四象限,又由于b²>0,直线是正比例直线向上平移的,所以必过第一象限,即图象经过第一、第二、第四象限;由于-a²<0yx的增大而减少

a=2b=1,即函数y=-4x+1,作图验证(作图代码附录8):

 

例题6益田牌小麦种子的价格为12/kg,如果一次购买超过200kg,超过的部分的种子价格打8折。

1)填写下面表格:

购买量/kg

50

100

150

200

250

300

350

400

……

付款金额/元

 

 

 

 

 

 

 

 

 

2)写出付款金额关于购买量的函数解析式,并画出函数图象。

  分析:付款金额与种子价格相关,问题中种子价格不是固定不变的,它与购买量有关。设购买xkg种子,当0≤x≤200时,种子价格为12/kg;当x>200时,其中有200kg种子按12/kg计价,其余的(x-200)kg(即超出200kg部分)种子按9.6/kg(即8))计价。因此,写函数解析式与画函数图象时,应对0≤x≤200x>200分段讨论。

解:(1

购买量/kg

50

100

150

200

250

300

350

400

……

付款金额/元

600

1200

1800

2400

2880

3360

3840

4320

 

(2)设购买量为x kg,付款金额为y元。

0≤x≤200时,y=12x

x>200时,y=9.6(x-200)+12*200=9.6x+480

函数图象如图下图(作图代码附录9):

 

  我们表示一次函数用一条直线,但如果是线段或射线,如上例,就要加入自变量的取值范围0≤x≤200x>200,这样把自变量的取值范围称作函数的定义域,相对于定义域的函数值范围就称作值域。上例中,与定义域0≤x≤200相对的值域是0≤y≤2400;与定义域x>200相对的值域是y>2400

 

 

练习题:

1、已知常数a≠0b≠0,直线y=2a²x-3b²x轴交点坐标为______,与y轴交点坐标为________,图象经过________________象限,yx的增大而______

2、已知一次函数的图象过点(3,2)(-4,a)(a,-4),求这个一次函数的解析式。

3、已知函数y=-3x-2,求过点(2,3)并且与这个函数的图象直线平行的直线函数解析式。

4、已知坐标平面上两点(-3, -4)(3, 14),求这两点的对称轴直线的函数解析式。

5、汽车从A出发,速度50km/h3小时后提高速度50%

1)填写下面表格:

时间/h

0.5

1

1.5

2

2.5

3

3.5

4

……

路程/km

 

 

 

 

 

 

 

 

 

2)写出路程关于时间的函数解析式,并画出函数图象。

3)指出定义域和值域。

 

附录1:

import sys
sys.path.append("/5xstar/pyfiles")
from fractions import Fraction
from mymath.rcs import *
import turtle as t
t.setup(400,400)
t.screensize(360,360)

build(t)
a=1
def f(x):
    return a*x
 
#y=x   
trace(t,-9,9,f)
#y=-x   
a=-1
trace(t,-9,9,f)
t.pencolor("red")
#y=3x
a=3
trace(t,-9,9,f)
#y=-3x
a=-3
trace(t,-9,9,f)
t.pencolor("blue")
#y=x/3
a=Fraction(1,3)
trace(t,-9,9,f)
#y=-x/3
a=-Fraction(1,3)
trace(t,-9,9,f)
t.ht()

 

附录2

import sys
sys.path.append("/5xstar/pyfiles")
from fractions import Fraction
from mymath.rcs import *
import turtle as t
t.setup(400,400)
t.screensize(360,360)

build(t)
a=1
b=0
def f(x):
    return a*x+b
 
#y=x   
trace(t,-9,9,f)
#y=-x
a=-1
trace(t,-9,9,f)
t.pencolor("red")
#y=x+2  
a=1
b=2
trace(t,-9,9,f)
#y=-x+2  
a=-1
trace(t,-9,9,f)
t.pencolor("blue")
#y=x-2   
a=1
b=-2
trace(t,-9,9,f)
#y=-x-2   
a=-1
trace(t,-9,9,f)
t.ht()

 

附录3

import sys
sys.path.append("/5xstar/pyfiles")
from fractions import Fraction
from mymath.rcs import *
import turtle as t
t.setup(400,400)
t.screensize(360,360)
t.up()
build(t)
a=4
b=-2
def f(x):
    return a*x+b
 
#y=4x-2   
trace(t,-9,9,f)
t.setpos(2.5*20,6*20)
t.write("y=4x-2")
t.pencolor("red")
#y=0.25x+3
a=-Fraction(1,4)
b=3
trace(t,-9,9,f)
t.setpos(4.5*20,2*20)
t.write("y=0.25x+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(400,400)
t.screensize(360,360)
t.up()
build(t)
a=4
b=0
def f(x):
    return a*x+b
 
#y=4x  
trace(t,-9,9,f)
t.setpos(1.5*20,5*20)
t.write("y=ax")
t.pencolor("red")
#y=0.25x
a=-Fraction(1,4)
trace(t,-9,9,f)
t.setpos(4.5*20,-20)
t.write("y=(1/a)x")
t.setpos(-9*20,2*20)
t.down()
t.pencolor("blue")
t.setx(9*20)
t.up()
t.setpos(14,2*20)
t.write("(b/a, b)")
t.setpos(-8*20,2*20)
t.write("(-b*a, b)")
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)
#
t.setpos(-4*20,-9*20)
t.dot("blue")
t.down()
t.setpos(2*20,5*20)
t.dot("blue")
t.up()
def f(x):
    return -Fraction(3,7)*x-Fraction(17,7)
 
t.pencolor("red")
trace(t,-10,10,f)
t.ht()

附录6

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)
a=4
b=-3
def f(x):
    return a*x+b
#y=4x-3
trace(t,-10,10,f)
t.pencolor("blue")
b=5
trace(t,-10,10,f)
t.ht()

 

附录7

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)
a=2
b=-1
def f(x):
    return a*x+b
#y=2x-1
trace(t,-10,10,f)
#端点
t.pencolor("blue")
t.setpos(3*20,5*20)
t.dot("blue")
t.setx(3*20+10)
t.write("(3, 5)")
t.setpos(-4*20,-9*20)
t.dot("blue")
t.setx(-4*20+10)
t.write("(-4, -9)")
t.ht()

附录8

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)
a=-4
b=1
def f(x):
    return a*x+b
#y=-4x+1
trace(t,-10,10,f)
t.ht()

 

附录9

import sys
sys.path.append("/5xstar/pyfiles")
from fractions import Fraction
from mymath.rcs import *
import turtle as t
t.setup(600,600)
t.screensize(500,500)
t.up()
build(t, xUnt = (50,40), yUnt = (500,40), wc = (-50,-50,450,450))
a=12
b=0
def f(x):
    return a*x+b
#y=12x
t.pencolor("red")
trace(t,0,200,f)
t.setpos(40,80)
t.write("y=12x")
#y=9.6x+480
t.pencolor("blue")
a=9.6
b=480
trace(t,200,4500,f)
t.setpos(240,250)
t.write("y=9.6x+480")
t.ht()