np.piecewise函数的语法为:
numpy.piecewise(x, condlist, funclist)
主要参数的含义:
x: 表示要进行操作的对象
condlist: 表示要满足的条件列表,可以是多个条件构成的列表
funclist: 执行的操作列表,参数二与参数三是对应的,当参数二为true的时候,则执行相对应的操作函数
np.piecewise函数的举例应用
举例一:
import numpy as np
x = np.arange(0, 20)
print(x)
# 将小于8的值设为1,将大于15的值设为2;条件之外的值默认为0
print(np.piecewise(x, [x < 8, x >= 15], [1, 2]))
输出的结果为:
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19]
[1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 2 2 2 2 2]
举例二:
用np.piecewise()函数来分段显示不同频率的波形
import matplotlib.pyplot as plt
import numpy as np
sampling_rate = 1024
t = np.arange(0, 1.0, 1.0 / sampling_rate)
f1 = 100
f2 = 20
f3 = 50
data = np.piecewise(t, [t < 1, t < 0.8, t < 0.3],
[lambda t: np.sin(2 * np.pi * f1 * t),
lambda t: np.sin(2 * np.pi * f2 * t),
lambda t: np.sin(2 * np.pi * f3 * t)])
plt.figure(figsize=(8, 4))
plt.plot(t, data)
plt.xlabel(u"t/s")
plt.title(u"100Hz'20Hz'50Hz 's shipinpu", fontsize=20)
plt.show()
结果显示为: