强基初中数学&学Python——第九十五课 函数与方程之三十九:函数图象的斜率函数

 

  下面是一元一次函数y=2x-5的函数图象和它上的几个点(作图代码附录1)。

 

(-2, -9)(0, -5)的斜率=(-5+9)/(0+2)=2

(0, -5)(3, 1)的斜率=(1+5)/(3-0)=2

(3, 1)(7, 9)的斜率=(9-1)/(7-3)=2

(-2, -9)(3, 1)的斜率=(1+9)/(3+2)=2

(0, -5)(7, 9)的斜率=(9+5)/(7-0)=2

……

可见,一元一次函数任意两点间的斜率都相等,并等于一次项系数。假如有一点在这直线上匀速运动,它在每一点的运动方向与x轴正向的夹角都是恒定的,这个夹角的正弦函数值是就是斜率。那么一元一次函数

y=ax+b

的斜率函数是0次函数

y=a

 

  下面是一元二次函数y=(1/4)x²x-5的函数图象和它上的几个点(作图代码附录2)。

 

可见,AA1A2A3A4的直线的斜率都不一样的,越靠近A点斜率越小。设A点横坐标是xA点后的一点A'的横坐标是x+t(t>0),则

AA'的斜率={[(1/4)(x+t)²+(x+t)-5]-[(1/4)x²+x-5]}/[(x+t)-x]

AA'的斜率={(1/4)[(x+t)²-x²]+[(x+t)-x]-(5-5)}/t

由平方差公式,得

AA'的斜率=[(t/4)(2x+t)+t]/t

AA'的斜率=(1/4)(2x+t)+1

t无限接近0时,t2x比较可以忽略不计,从而得到A点的斜率

A斜率=(1/2)x+1

可见,一元二次函数

y=(1/4)x²x-5

的斜率函数是

y=(1/2)x+1

  把上面这个函数图象加到二次函数图象中(下图,添加代码附录3)。

 

  一般地,一元二次函数

y=ax²+bx+c

的斜率函数是

y=2ax+b

  把上面的函数取反,即

y=-(1/4)x²-x+5

斜率函数是

y=-(1/2)x-1

把这2个一元二次函数和它们的斜率函数在同一个直角坐标中显示如下(作图代码附录4)。

 

  可见,如果一元二次函数开口向上,那它的斜率函数是上升的直线,反之是下降的直线;斜率函数与x轴的交点的x坐标与抛物线的顶点的x坐标相同。

  例题1利用斜率函数的性质,求函数y=7x²+28x-11的最小值。

解:

y=7x²+28x-11

的斜率函数是

y=14x+28

14x+28=0

x=-2

最小值=7*(-2)²-2*28-11

最小值=-7*4-11

最小值=-39

 

  练习题1利用斜率函数的性质,求函数y=-4x²-4x+5的最大值。

 

附录1

from rcs import *
from math import *
import turtle as t
t.setup(500,500)
t.screensize(400,400)  
t.up()
build(t)
t.setpos(0,210)
t.write("y=2x-5图象",align="center", font=("Arial", 14, "normal"))   
def f(x):
    return 2*x-5
def myDot(pos):
    t.setpos(20*pos[0],20*pos[1])
    t.dot(5)
    t.setx(20*pos[0]-5)
    t.write("(%s, %s)" % (str(pos[0]), str(pos[1])),align="right", font=("Arial", 14, "normal"))   
t.pensize(2)
trace(t,-10,10,f)
t.pencolor("red")
myDot((-2, f(-2)))
myDot((0, f(0)))
myDot((3, f(3)))
myDot((7, f(7)))
t.ht()

附录2
from rcs import *
from math import *
from fractions import Fraction
import turtle as t
t.setup(500,500)
t.screensize(400,400)  
t.up()
build(t)
t.setpos(0,210)
t.write("y=(1/4)x²x-5图象",align="center", font=("Arial", 14, "normal"))   
def f(x):
    return x**2/4+x-5
def myDot(pos, nm):
    t.setpos(20*pos[0],20*pos[1])
    t.dot(5)
    t.up()
    t.setpos(20*pos[0]+10,20*pos[1]-10)
    t.write("%s(%s, %s)" % (nm, str(pos[0]), str(pos[1])),font=("Arial", 14, "normal"))   
t.pensize(2)
trace(t,-10,10,f)
t.pencolor("red")
t.pensize(1)
myDot((0, f(0)), "A")
t.setpos(0,20*f(0))
t.down()
myDot((Fraction(6,8), f(Fraction(6,8))), "A4")
t.setpos(0,20*f(0))
t.down()
myDot((Fraction(6,4), f(Fraction(6,4))),"A3")
t.setpos(0,20*f(0))
t.down()
myDot((Fraction(6,2), f(Fraction(6,2))),"A2")
t.setpos(0,20*f(0))
t.down()
myDot((6, f(6)),"A1")
t.ht()

附录3

def f2(x):
    return x/2+1
t.pencolor("blue")
t.pensize(2)
trace(t,-10,10,f2)
t.setpos(20*6,20*3)
t.write("y=(1/2)x+1" ,font=("Arial", 14, "normal"))   

附录4

from rcs import *
from math import *
from fractions import Fraction
import turtle as t
t.setup(500,500)
t.screensize(400,400)  
t.up()
build(t)
t.setpos(-2*20,210)
t.write("y=(1/4)x²x-5",align="center", font=("Arial", 14, "normal"))   
t.setpos(-2*20,-225)
t.write("y=-(1/4)x²-x+5",align="center", font=("Arial", 14, "normal"))   
op=False
def f(x):
    _temp = x**2/4+x-5
    if op:
        return -_temp
    else:
        return _temp
def f2(x):
    _temp =x/2+1
    if op:
        return -_temp
    else:
        return _temp
t.pensize(2)
t.pencolor("red")
trace(t,-10,10,f)
trace(t,-10,10,f2)
t.setpos(20*6,20*3)
t.write("y=(1/2)x+1" ,font=("Arial", 14, "normal"))   
t.pencolor("blue")
op=True
trace(t,-10,10,f)
trace(t,-10,10,f2)
t.setpos(20*6,-20*3-20)
t.write("y=-(1/2)x-1" ,font=("Arial", 14, "normal"))   
t.ht()