函数是研究因变量与自变量在变化过程中的数量关系,这种数量关系分为同时增加、同时减少和其他三种方式。函数的单调性是对同时增加和同时减少的解述。
对于一元一次函数y=ax+b(a≠0),
如①,当a>0,函数值随x增大而增大,这种在整个定义域内函数值随自变量增大而增大的函数叫增函数;如②,当a<0,函数值随x增大而减少,这种在整个定义域内函数值随自变量增大而减少的函数叫减函数。这种随自变量增大,函数值总是增大或减少的性质就是单调性。增函数和减函数统称为单调函数。
例题1:根据函数的图象判断函数是否是单调函数(不指明定义域即全部实数)。
(1)y=3x-5
(2)y=|x|+x+1
(3)y=x-floor(x)/2+1 注:floor为向下取整运行
(4)y=x+floor(x)/2+1
(5)y=2|x+1|-7
(6)y=x²+2x-5
(7)y=2x (x为整数)
分析:首先,平行于x轴的任意一条直线与图象相交,有唯一的交点;然后,由于看到的图象不是全部的函数图象,因此需要想象不在画布中的函数图象是怎样的(还有没有“变化”之处)。(3)和(4)比较相像,但不一样;(7)虽然不是连续函数,但不影响单调。
解:
(1)是单调函数,
(2)不是单调函数,
(3)不是单调函数,
(4)是单调函数,
(5)不是单调函数,
(6)不是单调函数,
(7)是单调函数。
用函数图象来判断函数单调性是一条重要的数学方法,但如果没有计算机辅助画图,那就比较耗时。我们学过的一元一次函数是单调函数,绝对值函数和一元二次函数都不是单调函数。如果函数最简解析式由这三种函数“加减”而成,除了一元一次函数是单调函数外,其它都不是单调函数。
绝对值函数和一元二次函数虽然都不是单调函数,但如果用它们的对称轴把它们分为两部分,这两部分的函数就单调了。这种在函数定义域中划出一部分区间,使这个非单调函数在这个区间上是单调的,这个区间就是单调区间。绝对值函数和一元二次函数都可以划分为两个单调区间。
如果单调增和单调减两个区间是连在一起,转折的地方必然出现最大值(由单调增转单调减,例如y=-x²)或最小值(由单调减转单调增,例如y=x²)。
例题2:求下面一元二次函数的单调区间,并注明增减;当x是什么值时它们的函数值最大或最小,并指出来。
(1)y=3x²-12x+5,
(2)y=-2x²+36x-3。
分析:一元二次函数被对称轴分为两个单调区间,为了求出对称轴,对它们进行配方。
解:(1)
y=3x²-12x+5,
y=3(x²-4x)+5,
y=3(x²-4x+4-4)+5,
y=3(x²-4x+4)-3×4+5,
y=3(x-2)²-7,
在x≤2区间,函数单调减;在x≥2区间,函数单调增;当x=2时函数值最小,是-7。
(2)
y=-2x²+36x-3,
y=-2(x²-18x)-3,
y=-2(x²-18x+81-81)-3,
y=-2(x²-18x+81)+2×81-3,
y=-2(x-9)²+239,
在x≤9区间,函数单调增;在x≥9区间,函数单调减;当x=9时函数值最大,是239。
练习题1:判断下面函数是否是单调函数,如果是则指出增减(不指明定义域即全部实数)。
(1)y=2|x-3|+5,
(2)y=-4|3x+5|-17,
(3)y=93x+8,
(4)y=2|x+3|-5x+2,
(5)y=2x²+4x-9,
(6)y=-5x²+7x-1,
(7)y=x²+|x|+1,
(8)y=2x² (x≥0的有理数),
(9)y=2x+1 (x为整数)。
练习题2:求下面函数的单调区间,并注明增减;当x是什么值时它们的函数值最大或最小,并指出来。
(1)y=-7x²-28x+9,
(2)y=5x²-50x-7,
(3)y=99|x+5|+1,
(4)y=-7|2x-9|+8。
附录1:
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)
#y=2x+1
t.pencolor("blue")
def f(x):
return 2*x+1
t.setpos(50, 100)
t.write("① y=2x+1",font=(markFont[0],14,markFont[2]))
trace(t,-10,10,f)
#y=-2x-1
t.pencolor("red")
def f2(x):
return -2*x-1
t.setpos(50, -120)
t.write("② y=-2x-1",font=(markFont[0],14,markFont[2]))
trace(t,-10,10,f2)
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)
#标题
t.setpos(0, 210)
t.write("图二 y=3x-5图象",align="center",font=(markFont[0],14,markFont[2]))
t.setpos(0,-230)
t.write("作图代码附录2",align="center",font=(markFont[0],14,markFont[2]))
#y=3x-5
t.pencolor("blue")
def f(x):
return 3*x-5
t.setpos(70, 80)
t.write("y=3x-5",font=(markFont[0],14,markFont[2]))
trace(t,-10,10,f)
t.ht()
附录3:
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)
#标题
t.setpos(0, 210)
t.write("图三 y=|x|+x+1图象",align="center",font=(markFont[0],14,markFont[2]))
t.setpos(0,-230)
t.write("作图代码附录3",align="center",font=(markFont[0],14,markFont[2]))
#y=|x|+x+1
t.pencolor("blue")
def f(x):
return abs(x)+x+1
t.setpos(50, 100)
t.write("y=|x|+x+1",font=(markFont[0],14,markFont[2]))
trace(t,-10,10,f)
t.ht()
附录4:
import sys
sys.path.append("/5xstar/pyfiles")
from mymath.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=x-floor(x)/2+1图象",align="center",font=(markFont[0],14,markFont[2]))
t.setpos(0,-230)
t.write("作图代码附录4",align="center",font=(markFont[0],14,markFont[2]))
#y=x-floor(x)/2+1
t.pencolor("blue")
def f(x):
return x-floor(x)/2+1
for i in range(-10,10):
trace(t,i,i+.95,f)
t.ht()
附录5:
import sys
sys.path.append("/5xstar/pyfiles")
from mymath.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=x+floor(x)/2+1图象",align="center",font=(markFont[0],14,markFont[2]))
t.setpos(0,-230)
t.write("作图代码附录5",align="center",font=(markFont[0],14,markFont[2]))
#y=x+floor(x)/2+1
t.pencolor("blue")
def f(x):
return x+floor(x)/2+1
for i in range(-10,10):
trace(t,i,i+.95,f)
t.ht()
附录6:
import sys
sys.path.append("/5xstar/pyfiles")
from mymath.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=2|x+1|-7图象",align="center",font=(markFont[0],14,markFont[2]))
t.setpos(0,-230)
t.write("作图代码附录6",align="center",font=(markFont[0],14,markFont[2]))
#y=2|x+1|-7
t.pencolor("blue")
t.pensize(2)
def f(x):
return 2*abs(x+1)-7
trace(t,-10,10,f)
t.ht()
附录7:
import sys
sys.path.append("/5xstar/pyfiles")
from mymath.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=x²+2x-5图象",align="center",font=(markFont[0],14,markFont[2]))
t.setpos(0,-230)
t.write("作图代码附录7",align="center",font=(markFont[0],14,markFont[2]))
#y=x²+2x-5
t.pencolor("blue")
t.pensize(2)
def f(x):
return x**2+2*x-5
trace(t,-10,10,f)
t.ht()
附录8:
import sys
sys.path.append("/5xstar/pyfiles")
from mymath.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(x为整数)图象",align="center",font=(markFont[0],14,markFont[2]))
t.setpos(0,-230)
t.write("作图代码附录8",align="center",font=(markFont[0],14,markFont[2]))
#y=2x (x为整数)
t.pencolor("blue")
t.pensize(2)
def f(x):
return 2*x
for i in range(-5,6):
t.setpos(20*i, 20*f(i))
t.dot()
t.ht()