【高数:1 映射与函数】

【高数:1 映射与函数】

  • 例2.1 绝对值函数
  • 例2.2 符号函数
  • 例2.3 反函数表示
  • 例2.4 双曲正弦sinh,双曲余弦cosh,双曲正切tanh

参考书籍:毕文斌, 毛悦悦. Python漫游数学王国[M]. 北京:清华大学出版社,2022.

例2.1 绝对值函数

#导入pyplot子模块并将其重命名为plt
import matplotlib.pyplot as plt

#新建两个空列表,用于存放x坐标与y坐标
x=[]
y=[]
for i in range(100):
    element=-1+0.02*i
    x.append(element)  #生成x坐标列
    y.append(element if element>=0 else -element)  #生成y坐标列
plt.plot(x,y)  #绘制折线图
plt.title('y=|x|')  #设置标题
plt.show()  #显示图形

【高数:1 映射与函数】_第1张图片
定义函数

import numpy as np 
#定义绝对值函数
def f(x):
    return np.abs(x)
x=np.linspace(-1,1,100)
plt.plot(x,f(x),'r',linewidth=2)  #折线颜色为红色,线宽为2
plt.title('y=|x|')  #设置标题
plt.show()

【高数:1 映射与函数】_第2张图片

例2.2 符号函数

#自定义符号函数
def sgn(x):
    if x>0:
        return 1
    elif x<0:
        return -1
    else:
        return 0
x=np.linspace(-2,2,51)
y=[]
for i in range(len(x)):
    y.append(sgn(x[i]))
plt.plot(x,y,'g',linewidth=3)  #线条颜色为绿色
plt.xlabel('x')  #设置x轴标签
plt.ylabel('y')  #设置y轴标签
plt.title('y=sgn(x)')  #设置标题
plt.show()

【高数:1 映射与函数】_第3张图片

散点绘制

x=np.linspace(-2,2,201)
plt.scatter(x,np.sign(x),c='g',s=10)  #点的大小为10
plt.xlabel('x')
plt.ylabel('y')
plt.title('y=sgn(x)')
plt.show()

【高数:1 映射与函数】_第4张图片
一图多线

x=np.linspace(0,3,100)
fig,ax=plt.subplots()
ax.plot(x,x,label='y=x')
ax.plot(x,x**2,label='y=x^2')
ax.plot(x,x**3,label='y=x^3')
ax.set_title('Multi Curves')  #设置标题
ax.legend()  #显示图例
plt.show()

【高数:1 映射与函数】_第5张图片
多幅子图

x=np.linspace(-1.9,1.9,100)
fig,(ax1,ax2,ax3)=plt.subplots(1,3,figsize=(10,6))
ax1.scatter(x,np.floor(x),s=5)  #向下整数:floor(1.9)=1
ax2.scatter(x,np.round(x,0),s=5,c='r')  #四舍五入取整
ax3.scatter(x,np.ceil(x),s=5,c='g')  #向上取整:ceil(2.01)=3
plt.show()

【高数:1 映射与函数】_第6张图片

例2.3 反函数表示

y = x 3 , y = x 3 y =x^3,y =\sqrt[3]{x} y=x3,y=3x 关于 y = x y=x y=x对称。

def f(x):
    return np.power(x,3)
x=np.linspace(-1,1)  #等同于x=np.linspace(-1,1,50)
fig,ax=plt.subplots()
plt.axis('equal')  #设置等比例缩放
ax.plot(x,f(x),label='y=x**3')
ax.plot(f(x),x,label='y=x**(1/3)')
ax.plot(x,x,label='y=x')
ax.legend()
plt.show()

【高数:1 映射与函数】_第7张图片

例2.4 双曲正弦sinh,双曲余弦cosh,双曲正切tanh

Hyperbolic sine sinh, hyperbolic cosine cosh, hyperbolic tangent tanh

x=np.linspace(-2,2)
fig,ax=plt.subplots()
ax.plot(x,np.sinh(x),label='y=shx')  #双曲正弦
ax.plot(x,np.cosh(x),label='y=chx')  #双曲余弦
ax.plot(x,np.tanh(x),label='y=thx')  #双曲正切
ax.legend()  
plt.show()

【高数:1 映射与函数】_第8张图片

你可能感兴趣的:(Python漫游数学王国,python,高等数学)