强基初中数学&学Python——第七十二课 函数与方程之十六:连续性

 

  例子1每人发2个苹果的函数关系

y=2xx=0,1,2,3……),

函数图象如下,作图代码附录1

 

  例子2每小时往水池里放水2立方水的函数关系

y=2xx≥0),

函数图象如下,作图代码附录2

 

  例子3氢原子是最简单的原子,由一个质子(原子核)和一个电子组成。这个电子根据不同的能量状态(x≥0)运行在不同的轨道(y=0, 1, 2, 3, ……)上。如下图,作图代码附录3

 

  假如能量状态是连续的非零实数,0≤能量状态<1时在0轨道,1≤能量状态<2时在1轨道,如此类推。它们的函数关系

y=floor(x) x≥0 

 注:floor是地板整数,

函数图象如下,作图代码附录4

 

  例子4:自来水是分段计算收费的,不超过30立方每立方3元,超过30立方而不超过60立方的部分每立方5元,超过60立方的部分每立方7元。这是个分段函数(由于自变量取值范围不同函数关系不一样,要分段描述函数解析式。)关系

y=3x0≤x≤30),

y=5(x-30)+9030<x≤60),

y=7(x-60)+240x>60),

函数图象如下,作图代码附录5

 

  上面四个函数图象对比,例子1是离散的点,例子2是连续的线,例子3是断开的线,例子4是折线。

  自变量的取值范围称作函数的定义域,函数值的范围称作函数的值域。

  我们知道,实数与坐标轴上的点一一对应,也就是说,实数是连续的。实数包含有理数和无理数,单独有理数或无理数是不连续的。

  一元函数的定义域是连续的实数区间,而且图象是连续的线(例子2和例子4),我们认为这个函数是连续的。

  一个不连续的一元函数,在某个自变量取值区间是实数区间,在这个区间上函数图象是连续的线(如例子21≤x<2),我们把这个自变量取值区间认为是这个函数的连续区间。

  例题1判断下面函数是否连续,如果不连续但有连续区间,请找出一个连续区间。注:不注明定义域,则定义域是整个实数。

(1)y=-5x  (x=......, -3, -2, -1, 0, 1, 2, 3, ......)

(2)y=3x-|x-2|+5

(3)y=x²+4x+3

(4)y=2x²+3|x|-7

(5)y=2.5x (x为全部有理数)

(6)y=3.2x (x为全部无理数)

(7)分段函数

y=2x  (x<3)   

y=3x-3  (x≥3)  

(8)分段函数

y=3|x+2|-1  (x≤0)   

y=x²+4x+5  (x>0)  

(9)分段函数

y=2x+1  (x≤1)   

y=2x²-x+5  (x>1)  

(10)分段函数

y=2x  (x<0)   

y=3x²  (x>0)  

解:(1)定义域不是实数,所以不是连续的,也没有连续区间。

(2)该函数实际是分段函数

y=4x+3  (x<2)   ①

y=2x+7  (x≥2)   ②

x=2,由y=11,由y=11,可见函数是在(2,11)处折的折线,所以该函数是连续的。

(3)定义域是实数,函数图象是连续的抛物线,所以函数是连续的。

(4)该函数实际是分段函数

y=2x²-3x-7  (x<0)   ①

y=2x²+3x-7  (x≥0)   ②

x=0,由y=-7,由y=-7,可见函数是在(0,-7)相接的2段抛物线,所以该函数是连续的。

(5)定义域不是实数,函数不连续,也没有连续区间。

(6)定义域不是实数,函数不连续,也没有连续区间。

(7)当x=3,由y=6,由y=6,可见函数是在(3,6)处折的折线,所以该函数是连续的。

(8)当x=0,由y=5,由y=5,可见函数是在(0,5)相接的1段折线和1段抛物线,所以该函数是连续的。

(9)当x=1,由y=3,由y=6,可见2段函数图象无相接点,函数不是连续的,该函数的一个连续区间是(x≤1)

(10)函数的定义域断开了,不包含x=0,所以函数是不连续的,该函数的一个连续区间是(x<0)

  由上例可知:判断分段函数是否连续,首先看定义域是否连续,再看接口处相邻的解析式计算函数值是否相等。

  练习1判断下面函数是否连续,如果不连续但有连续区间,请找出一个连续区间。注:不注明定义域,则定义域是整个实数。

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

(2)y=ax (a不为0的常数,x为全部有理数)

(3)y=3x-|x-2|+5

(4)y=9x  (x为全部整数)

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

(6)y=9.9x (x为全部无理数)

(7)分段函数

y=5x+7  (x<0)   

y=3x²+7 (x>0)  

(8)分段函数

y=4x +5 (x<3)   

y=3x+8  (x≥3)  

(9)分段函数

y=-x²+2x+1  (x≤1)   

y=2x²-x+2  (x>1)  

(10)分段函数

y=2|x-5|+1  (x≤0)   

y=x²+4x+11  (x>0)  

 

 

附录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, wc=(-50, -50, 350, 350))
#y=2xx=0,1,2,3……
for x in range(9):
    t.setpos(20*x,20*2*x)
    t.dot("red")
t.setpos(175,-75)
t.write("y=2xx=0,1,2,3……",align="center",font=(markFont[0],14,markFont[2]))
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, wc=(-50, -50, 350, 350))
#y=2xx≥0
t.pencolor("red")
def f(x):
    return 2*x   
t.setpos(175, -75)
t.write("y=2xx≥0",align="center",font=(markFont[0],14,markFont[2]))
trace(t,0,10,f)
t.ht()

附录3
import turtle as t
t.setup(500,500)
t.screensize(400,400)  
t.up()
t.setpos(0,0)
t.dot(5)
t.sety(-15)
t.write("原子核",align="center")
t.pencolor("blue")
t.seth(90)
for n in range(8):
    i=25*(n+1)
    P=i/2**.5
    t.setpos(P, P)
    t.dot("red")
    t.setpos(P+2, P+2)
    t.write("%d" % n)
    t.setpos(i, 0)
    t.down()
    t.circle(i)
    t.up()
t.ht()

 

附录4
import sys
sys.path.append("/5xstar/pyfiles")
from mymath.rcs import *
from math import floor
import turtle as t
t.setup(500,500)
t.screensize(400,400)  
t.up()
build(t, wc=(-50, -50, 350, 350))
#y=floor(x)x≥0
t.pencolor("red")
def f(x):
    return floor(x)   
t.setpos(175, -75)
t.write("y=floor(x)x≥0",align="center",font=(markFont[0],14,markFont[2]))
for n in range(17):
    t.setpos(n*20,n*20)
    t.dot(5)
    trace(t,n+.1,n+1,f)
    t.setpos((n+1)*20,n*20)
    t.dot(5)
    t.dot(3,"white")
    t.up()
t.ht()


附录5
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, xUnt=(10,40),yUnt=(10,10),wc=(0, 0, 400, 400))

#y=3x0≤x≤30
#y=5(x-30)+9030<x≤60
#y=7(x-60)+240x>60
t.pencolor("red")
def f(x):
    if x>60:
        return 7*(x-60)+240
    elif x>30:
        return 5*(x-30)+90
    else:
        return 3*x   
t.setpos(80, 45)
t.write("y=3x0≤x≤30",font=(markFont[0],14,markFont[2]))
t.setpos(195, 165)
t.write("y=5(x-30)+9030<x≤60",font=(markFont[0],14,markFont[2]))
t.setpos(312, 345)
t.write("y=7(x-60)+240x>60",font=(markFont[0],14,markFont[2]))
trace(t,0,100,f)
t.ht()