Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Views: 27
# # #http://en.wikipedia.org/wiki/Fourier_series import scipy import pylab def calc_x_k_list(k, t_list): result_list = [] for t in t_list: t1 = 1.0 / 8 * scipy.sinc(1.0 * k / 8)**2 t2 = scipy.e**complex(0, -scipy.pi / 4 * k) - scipy.e**complex(0, -3 * scipy.pi / 4 * k) t3 = 0.5 * (scipy.e**complex(0, -5*scipy.pi / 4 * k) - scipy.e**complex(0, -7 * scipy.pi / 4 * k) ) t_last = scipy.e**complex(0, k*t) result = (t1 * (t2 + t3) * t_last).real result_list.append(result) return result_list def calc_x_f_list(k, t_list): y_list_list = [] for k in range(-k, k): y_list = calc_x_k_list(k, t_list) y_list_list.append(y_list) final_y_list = [ sum(a) for a in zip(*y_list_list)] return final_y_list #----------------------------------------------------------------------- t_list = scipy.arange(-2*scipy.pi, 2*scipy.pi, 0.1) k = 3 y_list = calc_x_f_list(k, t_list) p3 = pylab.plot(t_list, y_list, label='k=3') k = 5 y_list = calc_x_f_list(k, t_list) p5 = pylab.plot(t_list, y_list, label='k=5') k = 100 y_list = calc_x_f_list(k, t_list) p200 = pylab.plot(t_list, y_list, label='k=200') pylab.legend() pylab.title(r'Fourier Series') pylab.xlabel(r'Time $t$') pylab.ylabel(r'$x(t)$') pylab.grid(True) pylab.show()
<matplotlib.legend.Legend object at 0x7fb126149950> <matplotlib.text.Text object at 0x7fb125571190> <matplotlib.text.Text object at 0x7fb16e0a5250> <matplotlib.text.Text object at 0x7fb126083610>