利用python和jupyter notebook交互式小部件生成方波,可以实时调节谐波个数和基波频率
Posted datkartoffel
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用python和jupyter notebook交互式小部件生成方波,可以实时调节谐波个数和基波频率相关的知识,希望对你有一定的参考价值。
最近在试着使用jupyter waget来实现一些滑块的功能。
这里是用python创造一个方波。方波本质就是一个不同次谐波的正弦函数的叠加,因此代码很简单:
import ipywidgets as widgets from IPython.display import display import matplotlib.pyplot as plt import numpy as np %matplotlib nbagg fig, ax = plt.subplots(1, figsize=(10, 4)) plt.suptitle(‘square‘) def plot_exp(f_max, num): ax.clear() T = 1/f_max t=np.linspace(-2, 2, 2000) #0到6T区间内2000个样本 x = np.zeros_like(t) f = f_max k=np.arange(1,num) k = 2 * k -1 for i in range(2000): x[i]= np.sum(np.sin(k*np.pi*f*t[i])/k) y = np.real(x) ax.plot(t, y) plt.show() f_max = widgets.FloatSlider(min=0, max=1, value=1, description=‘f:‘) #f_max是正弦波基波频率 num = widgets.IntSlider(min=1, max=100, value=1, description=‘num:‘)#num是要叠加的谐波次数 widgets.interactive(plot_exp, f_max=f_max,num=num)#设置滑块插件
最后的结果效果不错
以上是关于利用python和jupyter notebook交互式小部件生成方波,可以实时调节谐波个数和基波频率的主要内容,如果未能解决你的问题,请参考以下文章
Windows下的Jupyter Notebook 安装与自定义启动
利用本地浏览器远程服务器上的jupyter notebook(报错/usr/bin/python3: No module named ipykernel_launcher)
jupyter notebook添加Anaconda虚拟环境的python kernel