Lichoběžníkový časový průběh s lze popsat vztahem:

$$u_t() = \sum_{n=1}^\infty {4U_m \over{2 \pi}} \sin(n\alpha) { \sin(n\omega t ) \over n^2 }$$

Vyzkoušejte si, kolik je třeba harmonických složek pro zachování tvaru tohoto časového průběhu.

In [1]:
#############################################################
def obdelnik(t,m,kroky=True,Um=1,f=1):
    u=zeros(len(t))
    figure(figsize=(10,7))
    minorticks_on()
    xlabel(r'$\rightarrow$ \\t [s]',fontsize=16, x=0.9 )
    ylabel(r'u [V] $\uparrow$',fontsize=16, y=0.9, rotation=0)
    title(u"{} harmonických složek".format(m))
    grid(True, 'major', linewidth=1)
    grid(True, 'minor', linewidth=0.5)
    for n in range(1,m+1)[::2]:
        harm = 4.*Um*sin(n*2.5)*sin(n*2*pi*f*t)/(2*pi*n*n)
        if kroky:
            plot(t,harm,'--g')
        u = u + harm
    #figure(figsize=(10,7))
    plot(t,u,'r-',lw=2)
    grid(1)
############################################################

t=linspace(0,2,5000)
In [2]:
obdelnik(t,3,)
In [3]:
obdelnik(t,7,)
In [4]:
obdelnik(t,11,)
In [5]:
obdelnik(t,20,False)
In [6]:
obdelnik(t,30,False)
In [7]:
obdelnik(t,50,False)