关于Python的列表推导式用于画函数图像

2020-10-14 09:56发布

这个列表推导式以前没见过,现在用起来感觉还挺方便的。具体用法是这样的,比如说,我创建了一个一维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 xx,再要选择一一对应离散的纵坐标y yy,这里要保证x xxy yy的数组长度相等。

plt.plot(x, y)1

y = x y=x
可以说列表推导式可以表达一个映射的关系

画一个三角波函数

三角波分为三段:上升段、下降段和平坦段

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
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。