指数函数的反函数:
y = logax (a是常数,且a>0, a!=1)
叫做对数函数,它的定义域是区间(0,+∞)。
把指数函数y=a^x的x看作因变量,y看作自变量,就得到了一个新的函数,这个新的函数就是对数函数,指数函数称为对数函数的直接函数。
例1 绘制底为2的对数函数,观察图像的性质
# 导入sympy库import sympyfrom sympy import symbols,plot# 定义对数函数def log(y,x): return sympy.log(x,y)# 定义数学符号x,yx=symbols('x')y=symbols('y')# 生成对数函数公式flog = log(2,x)# 绘制图形plot(flog,(x,0.1,3))
代码解读
Sympy库提供了log(x,n)函数用于定义logn(x)函数,n是底数,x是自变量。
观察函数图像,图像位于Y轴的右侧,值域为(-∞,+∞),与X轴交点为(1,0),函数值随着x的增大而增大,当底数大于1时,函数单调增加,函数非奇非偶。
例2 绘制底为1/2的对数函数,观察图像的性质
修改例1的程序代码,将语句:
flog = log(2,x)
修改为:
flog = log(1/2,x)
运行程序,可得到底为1/2的函数图像。
观察函数图像,图像位于Y轴的右侧,值域为(-∞,+∞),与X轴交点为(1,0),函数值随着x的增大而减小,当底数大于0小于1时,函数单调减少,函数非奇非偶。
读者可以多次使用不同的底数来绘制对数函数图像,可以得到如下结论:
当底数a>1时,函数在区间(0,+∞)上单调增加,当底数0
例3 绘制底为自然常数e的对数函数
修改例1的程序代码,将语句:
flog = log(2,x)
修改为:
flog = log(sympy.E,x)
运行程序,可得到底为自然常数的的函数图像。
原本要在同一绘图区域绘制指数函数图像、其反函数对数函数图形,及两者图像的对称直线,但Sympy绘制的效果并不理想,为了适应指数函数的图像,Y轴负轴一侧被挤压,导致对数函数图像被拉伸,不能很好呈现指数函数和对数函数的对称效果。
绘制图像的代码如下:
# 导入sympy库import sympyfrom sympy import symbols,plot# 定义对数函数def log(y,x): return sympy.log(x,y)# 定义指数函数def exp(y,x): return y**x # 定义数学符号x,yx=symbols('x')y=symbols('y')# 生成对数函数公式flog = log(sympy.E,x)# 生成直线函数公式fline = exp(x,1)# 生成指数函数公式fexp = exp(sympy.E,x)plot((flog,(x,0.1,3)),(fline,(x,0.1,3)),(fexp,(x,0.1,3)))
Sympy库用于数值计算还是非常不错的,用于绘制函数图像确实有点小材大用了,后面将使用matplotlib绘制函数图像。![61b3475c0553b4965de25ce67da517c7.png](https://i-blog.csdnimg.cn/blog_migrate/cfd39e6cc97baf7839403543275c9b17.png)
Python从入门到精通
课程从初学者角度出发,以通俗易懂的语言,丰富的实践案例,让初学者能够快速入门Python编程,全面掌握Python编程技能,具备开发网络爬虫、数据分析和机器学习的编程能力。在课程内容安排上,提供了图文课程、视频课程和课程考核,保障了学习效果和质量。课程适合16周岁以上人群学习。