强基初中数学&学Python——第七十三课 函数与方程之十七:初步认识单调性

 

  函数是研究因变量与自变量在变化过程中的数量关系,这种数量关系分为同时增加、同时减少和其他三种方式。函数的单调性是对同时增加和同时减少的解述。

  对于一元一次函数y=ax+ba≠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()