Python+NumPy绘制常见曲线的方法详解_python

一、利萨茹曲线

二、计算斐波那契数列

 

三、方波

方波可以近似表示为多个正弦波的叠加。任意一个方波信号都可以用无穷傅里叶级数来表示。

需要累加很多项级数,且级数越多结果越精确,这里取 k=99(可以分别设置为9,50,1000等进行测试观察生成效果) 以保证足够的精度。绘制方波的步骤如下。

1) 初始化 t 和 k 开始,并将函数值初始化为

  1. m = np.linspace(-np.pi, np.pi, 201) #从 -pi 到 pi 上均匀分布的 201 个点
  2. k = np.arange(1,99) # k=99 以保证足够的精度,如图中的9 20 99显示的波形
  3. k = 2 * k - 1
  4. f = np.zeros_like(m)

2)使用 sin()求正弦函数,用sum()数计算各项级数:

  1. for i in range(len(m)): #使用 sin 和 sum 函数进行计算
  2. f[i] = np.sum(np.sin(k * m[i])/k)
  3. f = (4 / np.pi) * f

3)绘制波形

  1. plt.plot(t, f)
  2. plt.show()

 

四、锯齿波和三角波

锯齿波和三角波也是常见的波形。和方波类似,也可以将它们表示成无穷傅里叶级数。对锯齿波取绝对值即可得到三角波。锯齿波的无穷级数表达式如下:

 

 

方波信号傅里叶级数展开

 

【可汗学院】【电气工程】【中英字幕】 83.方波傅里叶级数的图像-公开课

 

傅里叶级数与傅立叶变换 | 熟肉

4是振幅。奇数项存在,4/npisin(n)

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(677)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-12-02 2020年成人高考专升本高数(一)考试真题及答案 ​ 做题进度
2015-12-02 hierarchy中展开所有子项
2015-12-02 unity3d5.2.3中 调整视角
2015-12-02 NuGet在2015中的使用
2014-12-02 TeeChart.Direct2D.dll的使用
点击右上角即可分享
微信分享提示