0

我首先尝试添加谐波。但是为了添加谐波,我尝试使用循环。但它不起作用...

import numpy as np
import matplotlib.pyplot as plt
p = np.pi
m = 4/p
n = p/2
t = np.arange(-10, 10, 0.001)
#a1 = m*np.cos(n*t)
#a2 = -m/3*np.cos(3*n*t)
#a3 = m/5*np.cos(5*n*t)
#a4 = -m/7*np.cos(7*n*t)
#a5 = m/9*np.cos(9*n*t)
plt.figure(figsize = (12,6))
a=[]
for i,j in zip(range(1,21,2), range(0,20,1)):
    a = ((-1)**j*m/i*np.cos(i*n*t))/2
    a += a

#a = a1+a2+a3+a4+a5

plt.plot(t, a, 'r-')
plt.title('Square Signal using sine harmonics', fontdict={'fontname': 'monospace', 'fontsize': 15})
plt.ylabel('Amplitude')
plt.xlabel('Time')
plt.grid()
plt.show()

我得到了这个结果

虽然我应该得到更多谐波的结果..Ps我通过添加a1,a2,a3,a4和a5得到这个

当我将它与单个谐波进行比较时,循环值起作用了....见图

4

0 回答 0