本章主要回顾指数函数和对数函数,指数函数和对数函数求导
- 回顾指数函数和对数函数的基础知识
- e e e 的定义和性质
- 如何对指数函数和对数函数求导
- 指数函数和对数函数的极限求解
- 对数函数的微分
基础知识
下面的数表示是一个以2为底,指数为3的幂
2 3 2^{3} 23
对于任意底数 b > 0 b>0 b>0和实数 x x x、 y y y都满足下面的指数法则
- 任意非零数的0次幂都等于1 b 0 = 0 b^{0}=0 b0=0
- 任意数的1次幂就是它本身 b 1 = b b^{1}=b b1=b
- 将两个底数相同的幂相乘时,将指数相加 b x b y = b x + y b^{x}b^{y}=b^{x+y} bxby=bx+y
- 将两个底数相同的幂相除时,将分子的指数减去分母的指数 b x b y = b x − y \frac{b^{x}}{b^{y}}=b^{x-y} bybx=bx−y
- 取幂的幂时,指数相乘 ( b x ) y = b x y (b^{x})^{y}=b^{xy} (bx)y=bxy
对数函数回顾
方程 2 x = 7 2^{x}=7 2x=7中求解 x x x,将 x x x从指数的位置一下来的方法是对方程取对数
x = l o g 2 ( 7 ) x=log_{2}(7) x=log2(7) 换句话说就是“必须将2提升几次幂才得到7?”,答案是 l o g 2 ( 7 ) log_{2}(7) log2(7)
- 在方程中底数必须大于0,例如在方程: ( − 1 ) 1 2 (-1)^{\frac{1}{2}} (−1)21,即: − 1 \sqrt{-1} −1;这个方程的底数-1是不是很怪异,所以我们约定指数函数的底数必须大于0
- 在方程中底数不等于1,设方程 1 x = 1 1^{x}=1 1x=1,因为1的任意次方等于1本身,假设现在 x = 4 x=4 x=4;然后通过对数函数求 x = l o g 1 ( 1 ) x=log_{1}(1) x=log1(1)反过来求 x x x没有对应的值,所以当底数为1的指数函数是没有研究价值的。
- 因为底数大于零,并且不等于1,所以 y = b x > 0 y=b^{x}>0 y=bx>0;即: y > 0 y>0 y>0
综上所述,在方程中 y = b x y=b^{x} y=bx y > 0 , ( b > 0 , b ≠ 1 ) y>0 ,(b>0,b\neq 1) y>0,(b>0,b=1)
指数函数、对数函数及反函数
为了加深函数的理解,下面我们通过python可视化来分别讲解
我们就以 y = 2 x y=2^{x} y=2x来讲解,其中 x x x定义域是[-5,5]之间,我们列出11个 x x x值列表
[ − 5 , − 4 , − 3 , − 2 , − 1 , 0 , 1 , 2 , 3 , 4 , 5 ] [-5,-4,-3,-2,-1,0,1,2,3,4,5] [−5,−4,−3,−2,−1,0,1,2,3,4,5]然后将上面的 x x x列表代入公式计算得
[ 1 32 , 1 16 , 1 8 , 1 4 , 1 2 , 1 , 2 , 4 , 8 , 16 , 32 ] [\frac{1}{32},\frac{1}{16},\frac{1}{8},\frac{1}{4},\frac{1}{2},1,2,4,8,16,32] [321,161,81,41,21,1,2,4,8,16,32]现在我们把这些散点图展示在坐标系中,看看效果
def nine():
plt.figure()
setting6() #坐标系设置
x = np.linspace(-5,5,11,np.float32) #x轴取[-5,5]区间11个值
y = np.power(2,x) #y=2^{x} y是底数为2的x次方
#下面是为了方便数据可视化,把小数转为分数
y_list=[]
for v in y:
y_list.append(str(Fraction(v)))#把小数转为分数显示
print(x)
print(y_list)
打印如下
[-5. -4. -3. -2. -1. 0. 1. 2. 3. 4. 5.]
['1/32', '1/16', '1/8', '1/4', '1/2', '1', '2', '4', '8', '16', '32']
关于坐标系的美化
def setting6():
plt.gca().set_title("指数|对数|反函数", fontproperties='Microsoft YaHei')
plt.gca().spines['right'].set_color('none') # 设置右边框为无色
plt.gca().spines['top'].set_color('none') # 设置顶部边框为无色
plt.gca().spines["bottom"].set_position(('data', 0)) # 设置底边框从数轴0开始
plt.gca().spines["left"].set_position(('data', 0)) # 设置左边框从数轴0开始
plt.ylim(-5, 5) #y轴可视化区域
plt.xlim(-5, 5) #x轴可视化区域
打印效果和我们上面分析是一样的,这里显示字符串出吧小数转为分数为了方便可视化做的处理,不用理会
现在我们把上面散点图现在是坐标系,看看效果图,有个直观的理解
在上面的代码追加此行接口
plt.scatter(x,y)
效果图入线
加入下面的一行代码,把各个点用线连接起来,效果会更加明显
plt.plot(x, y)
这就是函数 f ( x ) = 2 x f(x)=2^{x} f(x)=2x的图像,定义域为 R \mathbb{R} R任意自然数,值域为 ( 0 , + ∞ ) \left ( 0,+\infty \right ) (0,+∞)
该指数函数对应的对数函数为 g ( x ) = l o g 2 ( x ) g(x)=log_{2}(x) g(x)=log2(x), g ( x ) g(x) g(x)也是 f ( x ) f(x) f(x)的反函数,根据反函数的性质:
- 原函数 f ( x ) f(x) f(x)的定义域是反函数 g ( x ) g(x) g(x)值域;
- 原函数 f ( x ) f(x) f(x)的值域是反函数 g ( x ) g(x) g(x)的定义域
g ( x ) = l o g 2 ( x ) g(x)=log_{2}(x) g(x)=log2(x) x ⊆ ( 0 , + ∞ ) ; y ⊆ R x\subseteq (0,+\infty ) ; y\subseteq\mathbb{R} x⊆(0,+∞);y⊆R
根据上面的定义我们可以把指数函数 f ( x ) f(x) f(x)的值域 y y y作为对数函数 g ( x ) g(x) g(x)的定义域 x x x,看看对数函数 g ( x ) g(x) g(x)计算出来的值是否和指数函数 f ( x ) f(x) f(x)的定义域的值一样
def nine():
plt.figure(figsize=(4,4))
setting6() #坐标系设置
x = np.linspace(-5,5,11,np.float32) #x轴取[-5,5]区间11个值
y = np.power(2,x) #y=2^{x} y是底数为2的x次方
#下面是为了方便数据可视化,把小数转为分数
y_list=[]
for v in y:
y_list.append(str(Fraction(v)))#把小数转为分数显示
print("f(x)定义域的值:",x)
print("f(x)值域的值:",y_list)
plt.scatter(x,y)
plt.plot(x, y)
x = y #把f(x)的值域换成g(x)的定义域
y = np.log2(x) #通过对数函数g(x)计算出的值域
x_list = []
for v in x:
x_list.append(str(Fraction(v))) # 把小数转为分数显示
print("g(x)定义域的值:",x_list)
print("g(x)值域的值:",y)
#绘制可视化图像(对数函数有个直观的了解)
plt.scatter(x, y)
plt.plot(x, y)
plt.show()
代码19行把指数函数f(x)的值域赋值 x x x;第20行通过对数函数,该对数函数的底数为2,定义域的值为 x x x;最后计算出 y y y。第25、26把对数函数的定义域和值域对应的值全部打印出来
f(x)定义域的值: [-5. -4. -3. -2. -1. 0. 1. 2. 3. 4. 5.]
f(x)值域的值: ['1/32', '1/16', '1/8', '1/4', '1/2', '1', '2', '4', '8', '16', '32']
g(x)定义域的值: ['1/32', '1/16', '1/8', '1/4', '1/2', '1', '2', '4', '8', '16', '32']
g(x)值域的值: [-5. -4. -3. -2. -1. 0. 1. 2. 3. 4. 5.]
从结果可以看出,指数函数和对数函数互为反函数,下图是一个直观的了解
从上图可以看出指数函数和对数函数互为反函数,关于 y = x y=x y=x对称
由于 f ( x ) f(x) f(x)和 g ( x ) g(x) g(x)互为反函数,所以 f ( g ( x ) ) = x f(g(x))=x f(g(x))=x; g ( f ( x ) ) = x g(f(x))=x g(f(x))=x;下面我们根据实例来阐述这个事实
- 令: f ( x ) = 2 x f(x)=2^{x} f(x)=2x;
x = [ − 5 , − 4 , − 3 , − 2 , − 1 , 0 , 1 , 2 , 3 , 4 , 5 ] x=[−5,−4,−3,−2,−1,0,1,2,3,4,5] x=[−5,−4,−3,−2,−1,0,1,2,3,4,5] 那么计算出来对应
y = [ 1 32 , 1 16 , 1 8 , 1 4 , 1 2 , 1 , 2 , 4 , 8 , 16 , 32 ] y=[\frac{1}{32},\frac{1}{16},\frac{1}{8},\frac{1}{4},\frac{1}{2},1,2,4,8,16,32] y=[321,161,81,41,21,1,2,4,8,16,32]
- 令: g ( x ) = l o g 2 ( x ) g(x)=log_{2}(x) g(x)=log2(x)
x = [ 1 32 , 1 16 , 1 8 , 1 4 , 1 2 , 1 , 2 , 4 , 8 , 16 , 32 ] x=[\frac{1}{32},\frac{1}{16},\frac{1}{8},\frac{1}{4},\frac{1}{2},1,2,4,8,16,32] x=[321,161,81,41,21,1,2,4,8,16,32]那么计算出来对应
y = [ − 5 , − 4 , − 3 , − 2 , − 1 , 0 , 1 , 2 , 3 , 4 , 5 ] y=[−5,−4,−3,−2,−1,0,1,2,3,4,5] y=[−5,−4,−3,−2,−1,0,1,2,3,4,5]
f ( x ) = 2 x = [ 1 32 , 1 16 , 1 8 , 1 4 , 1 2 , 1 , 2 , 4 , 8 , 16 , 32 ] f(x)=2^{x}=[\frac{1}{32},\frac{1}{16},\frac{1}{8},\frac{1}{4},\frac{1}{2},1,2,4,8,16,32] f(x)=2x=[321,161,81,41,21,1,2,4,8,16,32];大家是否注意指数函数 f ( x ) f(x) f(x)的输出恰好就是对数函数g(x)的输入
因此: g ( x ) = g ( f ( x ) ) = l o g 2 f ( x ) = l o g 2 ( 2 x ) = x g(x)=g(f(x))=log_{2}f(x)=log_{2}(2^{x})=x g(x)=g(f(x))=log2f(x)=log2(2x)=x
g ( x ) = l o g 2 x = [ − 5 , − 4 , − 3 , − 2 , − 1 , 0 , 1 , 2 , 3 , 4 , 5 ] g(x)=log_{2}x=[−5,−4,−3,−2,−1,0,1,2,3,4,5] g(x)=log2x=[−5,−4,−3,−2,−1,0,1,2,3,4,5];大家是否注意对数函数 g ( x ) g(x) g(x)的输出恰好是指数函数 f ( x