下面是一元一次函数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)。
可见,A到A1、A2、A3、A4的直线的斜率都不一样的,越靠近A点斜率越小。设A点横坐标是x,A点后的一点A'的横坐标是x+t(t>0),则
A到A'的斜率={[(1/4)(x+t)²+(x+t)-5]-[(1/4)x²+x-5]}/[(x+t)-x],
A到A'的斜率={(1/4)[(x+t)²-x²]+[(x+t)-x]-(5-5)}/t,
由平方差公式,得
A到A'的斜率=[(t/4)(2x+t)+t]/t,
A到A'的斜率=(1/4)(2x+t)+1。
当t无限接近0时,t与2x比较可以忽略不计,从而得到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()