使用python绘制基本初等函数
幂函数
指数函数
对数函数
三角函数
反三角函数
幂函数
为常数幂函数的图像和性质随着的不同而不同
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用于正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
x11 = np.arange(-4, -0.1, 0.01)
x12 = np.arange(0.1, 4, 0.01)
x2 = np.arange(0, 4, 0.01)
x3 = np.arange(-4, 4, 0.01)
x4 = np.arange(-3, 3, 0.01)
x5 = np.arange(-3, 3, 0.01)
f11 = [1 / i for i in x11]
f12 = [1 / i for i in x12]
f2 = [np.sqrt(i) for i in x2]
f3 = x3
f4 = [np.power(i, 2) for i in x4]
f5 = [np.power(i, 3) for i in x5]
plt.plot(x11, f11, 'k', label='$y=x^{-1}$')
plt.plot(x12, f12, 'k')
plt.plot(x2, f2, label='$y=x^{1/2}$')
plt.plot(x3, f3, label='$y=x$')
plt.plot(x4, f4, label='$y=x^2$')
plt.plot(x5, f5, label='$y=x^3$')
# 移动坐标轴及边框设置:https://www.jb51.net/article/172275.htm
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
plt.legend(loc='upper left')
plt.show()
指数函数
其中是常数,且当时,指数函数为单调增加函数;当时,指数函数为单调减少函数。但无论自变量取何值,指数函数的图像总是位于轴上方,并且一定会通过点(,),即当时,。
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.arange(-4, 4, 0.01)
f11 = [2**i for i in x]
f12 = [4**i for i in x]
plt.plot(x, f11, label='$y=2^x,(a>1)$')
plt.plot(x, f12, label='$y=4^x,(a>1)$')
f21 = [0.5**i for i in x]
f22 = [0.25**i for i in x]
plt.plot(x, f21, label=r'$y=(\frac{1}{2})^x,(0)
plt.plot(x, f22, label=r'$y=(\frac{1}{4})^x,(0
对数函数
其中为常数,且。该函数的定义域为正的实数,故它的图像位于轴的右方,并通过点(,)。当时,对数函数为单调增加函数;当$0
下面代码使用到的性质:
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.arange(0.01, 4, 0.01)
f11 = [np.log2(i) for i in x]
f12 = [np.log2(i)/np.log2(4) for i in x]
plt.plot(x, f11, label='$y=log_2^x,(a>1)$')
plt.plot(x, f12, label='$y=log_4^x,(a>1)$')
f21 = [np.log2(i)/np.log2(1/2) for i in x]
f22 = [np.log2(i)/np.log2(1/4) for i in x]
plt.plot(x, f21, label=r'$y=log_\frac{1}{2}^x,(0)
plt.plot(x, f22, label=r'$y=log_\frac{1}{4}^x,(0
对数函数与指数函数互为反函数,所以两者图像关于直线对称
三角函数
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(-2 * np.pi, 2 * np.pi, 200)
f1 = np.sin(x)
f2 = np.cos(x)
f3 = np.tan(x)
f4 = 1 / f3
f5=1/f2
f6=1/f1
plt.plot(x, f1, label=r'$y=sin(x)$')
plt.plot(x, f2, label=r'$y=cos(x)$')
plt.plot(x, f3, label=r'$y=tan(x)$')
plt.plot(x, f4, label=r'$y=cot(x)$')
plt.plot(x, f5, label=r'$y=sec(x)$', )
plt.plot(x, f6, label=r'$y=csc(x)$', )
# 移动坐标轴及边框设置:https://www.jb51.net/article/172275.htm
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
plt.xlim(x.min() * 1.1, x.max() * 1.1) # limit x range
plt.ylim(-4, 4) # limit y range
plt.xticks([-2 * np.pi, -3 * np.pi / 2, -np.pi, -np.pi / 2, 0, np.pi / 2, np.pi, 3 * np.pi / 2, 2 * np.pi],
[r'$-2\pi$', r'$-3\pi/2$', r'$-\pi$', r'$-\pi/2$', r'$0$', r'$\pi/2$', r'$\pi$', r'$3\pi/2$', r'$2\pi$'])
plt.legend(loc='best')
plt.show()
反三角函数
下面代码使用到的性质:
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x1 = np.linspace(-1, 1, 200)
x2 = np.linspace(-10, 10, 200)
f1 = np.arcsin(x1)
f2 = np.arccos(x1)
f3 = np.arctan(x2)
f4 = np.pi / 2 - np.arctan(x2)
plt.plot(x1, f1, label=r'$y=arcsin(x)$')
plt.plot(x1, f2, label=r'$y=arccos(x)$')
plt.plot(x2, f3, label=r'$y=arctan(x)$')
plt.plot(x2, f4, label=r'$y=arccot(x)$')
# 移动坐标轴及边框设置:https://www.jb51.net/article/172275.htm
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.yaxis.set_ticks_position('left')
ax.spines['bottom'].set_position(('data', 0))
ax.spines['left'].set_position(('data', 0))
plt.yticks([-np.pi, -np.pi / 2, np.pi / 2, np.pi], [r'$-\pi$', r'$-\pi/2$', r'$\pi/2$', r'$\pi$', ])
plt.legend(loc='best')
plt.show()
如果你觉得这篇文章有用的话,求:
关注不迷路哦???