这个列表推导式以前没见过,现在用起来感觉还挺方便的。具体用法是这样的,比如说,我创建了一个一维numpy列表
x_np_list = np.linspace(0, 2, 1000)1
y_np_list = np.array([function() for i in x_np_list]) # 这里function是函数名,括号可以有参数1
至于为什么要这么创建,等等你就能弄明白了,我们这里为了画函数图像,当然要选则一些离散点,首先选择离散的横坐标x,再要选择一一对应离散的纵坐标y,这里要保证x与y的数组长度相等。
plt.plot(x, y)1
可以说列表推导式可以表达一个映射的关系
画一个三角波函数
三角波分为三段:上升段、下降段和平坦段
import numpy as npimport matplotlib.pyplot as pltdef triangle_wave(x, c, c0, hc): x = x - int(x) # 三角波的周期为1,因此只取x坐标的小数部分进行计算 if x >= c: r = 0.0 elif x < c0: r = x / c0 * hc else: r = (c - x) / (c - c0) * hc return r x = np.linspace(0, 2, 1000)y = np.array([triangle_wave(t, 0.6, 0.4, 1.0) for t in x])plt.plot(x, y)plt.show()1234567891011121314151617181920
作者:Atom_QQ2022313691
链接:https://blog.csdn.net/qq_44864262/article/details/107783312
来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。