Primjer Fourierovog razvoja funkcije

Primjer 1. Razviti u Fourierov red funkciju:

$$f(x)=\left\{ \begin{array}{ccc} 1, & & -\pi\leq x\leq0\\ 0, & & 0\leq x\leq\pi \end{array}\right.$$

Rješenje se može pisati u obliku: $$ f(x)=\dfrac{1}{2}-\dfrac{2}{\pi}\left( \dfrac{sinx}{1}+\dfrac{sin3x}{3}+\dfrac{sin5x}{5}+... \right)$$

In [15]:
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline

def funkcija(x,n):
    f=0
    fc=0
    for n in range(n):
        f=f+np.sin((2*n+1)*x)/(2*n+1)
    #print(f)
    return f

x=np.linspace(-np.pi,np.pi)
f1=funkcija(x,5)
f2=funkcija(x,35)
m=x.size/2
m=int(m)

plt.figure(dpi=150)
plt.plot(x,0.5-2/np.pi*f1,label='5 clanova razvoja')
plt.plot(x,0.5-2/np.pi*f2,label='25 clanova razvoja')
plt.plot(x[x<=0],np.ones((m,1)))
plt.plot(x[x>=0],np.zeros((m,1)))
plt.title('Fourierov razvoj')
plt.legend()
#plt.annotate('122 člana F. razvoja',(-3,.3))
plt.xlabel('x')
plt.ylabel('f(x)')
plt.grid()
plt.show()
In [ ]: