FOURIER Series Uiv.-Prof. Dr.-Ig. habil. Josef BETTEN RWTH Aache Uiversity Templergrabe 55 D-52056 A a c h e, Germay bette@mmw.rwth-aache.de Abstract This worksheet is cocered with FOURIER series. Some examples are discussed usig MAPLE V, Release 10. Keywords: FOURIER expasio; odd ad eve fuctios; HEAVISIDE fuctio; cotiuous fuctios with cusps; L-two orm FOURIER Expasio restart: FOURIER_series a[0]/2+sum(a[k]*cos(k*x)+b[k]*si(k*x),k=1..ifiity); 1 FOURIER_series + 2 a 0 ( a k cos( kx) + b k si( kx) ) > a[k](1/pi)*it(f(x)*cos(k*x),x=-pi..pi); # k=0,1,2,3,... 1 a k > a[0]simplify(subs(k=0,%)); f( x ) cos( kx) 1 a 0 dx > b[k](1/pi)*it(f(x)*si(k*x),x=-pi..pi); # k=1,2,3,... 1 b k f( x ) si( kx) dx dx 1
ODD ad Eve Fuctios > odd_fuctiof(x)=x; odd_fuctio = x > A[0]value(subs(f(x)=x,a[0])); A 0 0 > A[k]value(subs(f(x)=x,a[k])); 0 For odd fuctios the coefficiets A[k], k = 0,1,2.. are idetical to zero. > B[k]value(subs(f(x)=x,b[k])); 2( si( k ) + cos( k) k ) k 2 > B[k]subs({si(Pi*k)=0,cos(Pi*k)=(-1)^k},%); 2( -1 ) k k > FOURIER_series[f(x)=x][k=4]sum(B[k]*si(k*x),k=1..4); 2 1 FOURIER_series = x 2 si( x ) si( 2 x ) + si( 3 x ) si( 4 x ) k = 4 3 2 > for i i [2,4,5] do FOURIER_series[f(x)=x][k=i] subs(k=i,sum(b[k]*si(k*x),k=1..i)) od; FOURIER_series = x 2 si( x ) si( 2 x ) k = 2 2 1 FOURIER_series = x 2 si( x ) si( 2 x ) + si( 3 x ) si( 4 x ) k = 4 3 2 2 1 2 FOURIER_series = x 2 si( x ) si( 2 x ) + si( 3 x ) si( 4 x ) + si( 5 x ) k = 5 3 2 5 compact form: > y(x,)[f(x)=x]sum(b[k]*si(k*x),k=1..); ) 2( -1 ) k si( kx) = x k > y(x,4)[f(x)=x]value(subs(=4,%)); 2 1 4) 2 si( x ) si( 2 x ) + si( 3 x ) si( 4 x ) = x 3 2 > for i i [1,10,100] do y(x,=i)2*subs(=i,sum((-1)^(-1)*si(*x)/,=1..i)) od: > plot({y(x,=1),y(x,=10),y(x,=100)},x=-4*pi..4*pi,color=black, title="fourier-series with = [1, 10, 100] for f(x) = x"); 2
> eve_fuctiof(x)=x^2; eve_fuctio = x 2 > A[0]value(subs(f(x)=x^2,a[0])); 2 2 A 0 3 > A[k]value(subs(f(x)=x^2,a[k])); 2( 2 si( k) + k 2 si( k ) 2 + 2 cos( k) k ) k 3 > A[k]subs({si(Pi*k)=0,cos(Pi*k)=(-1)^k},%); 4( -1 ) k > B[k]value(subs(f(x)=x^2,b[k])); 0 For eve fuctios the coefficiets B[k] are idetical to zero. > y(x,)[f(x)=x^2]a[0]/2+sum(a[k]*cos(k*x),k=1..); 2 ) + = x 2 3 4( -1) k cos( kx) k 2 > y(x,4)[f(x)=x^2]value(subs(=4,%)); k 2 3
4 1 4) 4 cos( x ) + cos( 2 x ) cos( 3 x ) + cos( 4 x ) = x 2 3 9 4 > for i i [1,10,100] do y(x,=i)pi^2/3+subs(=i,4*sum((-1)^*cos(*x)/^2, =1..i)) od: > plot({y(x,=1),y(x,=10),y(x,=100)}, x=-4*pi..4*pi,color=black, title="fourier-series # = [1, 10, 100] for f(x) = x^2"); 2 Fuctio f(x) = (x - X)^2 i several rages: > f(x)[-2*pi](x+2*pi)^2; x = [-3*Pi, -Pi]; f( x ) ( x + 2 ) 2 2 x = [ 3, ] > f(x)[0]x^2; x = [-Pi, Pi]; f( x ) x 2 0 x = [, ] > f(x)[2*pi](x-2*pi)^2; x = [Pi, 3*Pi]; f( x ) ( x 2 ) 2 2 x = [, 3 ] > alias(h=heaviside,th=thickess,co=color): > p[1]plot(f(x)[-2*pi],x=-3*pi..-pi,0..pi^2,th=2,co=black): > p[2]plot(f(x)[0],x=-pi..pi,th=3,co=black): > p[3]plot(f(x)[2*pi],x=pi..3*pi,th=2,co=black): > p[4]plot({pi^2,pi^2*h(x+3*pi),pi^2*h(x-3*pi), Pi^2*H(x+2*Pi),Pi^2*H(x-2*Pi)}, x=-3.001*pi..3.001*pi,co=black, title="quadratic fuctios with the period 2*Pi"): > plots[display]({seq(p[k],k=1..4)}); 4
> costat_loadq; costat_load q > A[0]value(subs(f(x)=q,a[0])); A 0 2 q > A[k]value(subs(f(x)=q,a[k])); 2 si( k) q k > limit_valuelimit(a[k],k=0)=limit(%,k=0); 2 si( k) q limit_value lim = 2 q k 0 k > B[k]value(subs(f(x)=q,b[k])); 0 > y(x,)[f=q]q+sum((2*q*si(pi*k)/pi/k)*cos(k*x),k=1..); ) q + 2 q si( k ) cos( kx) f = q k > y(x,)[f=q] simplify(subs({si(pi*k)=0,cos(pi*k)=(-1)^k},%)); ) q f= q The solutio is trivial. For all k yields: y(x, k...) = q. > aother_examplef=1+x; aother_example f = 1 + x > A[0]value(subs(f(x)=1+x,a[0])); A 0 2 > A[k]value(subs(f(x)=1+x,a[k])); 2 si( k ) k > limit_valuelimit(a[k],k=0)=limit(2*si(pi*k)/pi/k,k=0); 5
2 si( k ) limit_value lim = 2 k 0 k > B[k]value(subs(f(x)=1+x,b[k])); 2( si( k ) + cos( k) k ) k 2 > B[k]subs({si(Pi*k)=0,cos(Pi*k)=(-1)^k},%); 2( -1 ) k k > y(x,)[f=1+x]1+sum(b[k]*si(k*x),k=1..); ) 1 + f = 1 + x 2( -1 ) k si( kx) k > y(x,4)[f=1+x]value(subs(=4,%)); 2 1 4 ) 1 + 2 si( x ) si( 2 x ) + si( 3 x ) si( 4 x ) f = 1 + x 3 2 > for i i [1,4,100] do y(x,=i)1+subs(=i,sum(2*si(pi*)*cos(*x)/pi/- (2*(-si(Pi*)+cos(Pi*)*Pi*)*si(*x))/Pi/^2, =1..i)) od: > plot({1,y(x,=1),y(x,=4),y(x,=100)},x=-4*pi..4*pi,co=black, title="fourier series # = [1, 4, 100] for f(x) = 1+x"); FOURIER Represetatio of the HEAVISIDE Fuctio > alias(h=heaviside): > F(x)[H_odd]H(x)+2*sum((-1)^*H(x-*Pi),=1..N)- H(-x)+2*sum((-1)^*H(x+*Pi),=1..N); 6
N F( x ) H( x ) + 2 + H_odd (-1) H ( x ) H( x ) 2 = 1 > f(x)[h_odd]subs(n=4,%); 4 f( x ) H( x ) + 2 + H_odd (-1 ) H ( x ) H( x ) 2 = 1 > plot(%,x=-4.5*pi..4.5*pi,co=black); N = 1 4 = 1 (-1) H ( x + ) (-1 ) H ( x + ) > A[0]value(subs(f(x)=f(x)[H_odd],a[0])); A 0 0 > A[k]value(simplify(subs(f(x)=f(x)[H_odd],a[k]))); 0 > B[k]simplify(value(subs(f(x)=f(x)[H_odd],b[k]))); 2( cos( k ) 1) k > B[k]subs(cos(Pi*k)=(-1)^k,%); 2( (-1 ) k 1 ) k > y(x,)[f=h_odd]sum(b[k]*si(k*x),k=1..); ) f = H_odd 2( (-1 ) k 1 ) si( kx) k > y(x,4)[h_odd]value(subs(=4,%)); 4) H_odd 4 2( (-1 ) k 1 ) si( kx) k > for i i [1,2,3,4,5,6] do y(x,=i)subs(=i,2*sum(((1-(-1)^)/pi/)*si(*x), =1..i)) od; y ( x, = 1) y ( x, = 2) 4 si( x ) 4 si( x ) 7
4 si( x ) 4 si( 3 x ) y ( x, = 3 ) + 3 4 si( x ) 4 si( 3 x ) y ( x, = 4 ) + 3 4 si( x ) 4 si( 3 x ) 4 si( 5 x ) y ( x, = 5 ) + + 3 5 4 si( x ) 4 si( 3 x ) 4 si( 5 x ) y ( x, = 6 ) + + 3 5 > for i i [1,5,99] do y(x,=i)subs(=i,2*sum(((1-(-1)^)/pi/)*si(*x), =1..i)) od: > plot({f(x)[h_odd],y(x,=1),y(x,=5),y(x,=99)}, x=-4.5*pi..4.5*pi,co=black); Iterval ( 0, 2*Pi ): > y(x)alpha[0]/2+ Sum(alpha[k]*cos(k*x)+beta[k]*si(k*x),k=1..ifiity); 1 y( x ) + 2 α 0 ( α k cos( kx) + β k si( kx) ) > alpha[k](1/pi)*it(phi(x)*cos(k*x),x=0..2*pi); # k = 0,1,2,3,... 0 > alpha[0]simplify(subs(k=0,%)); 1 α k 2 1 α 0 φ( x ) cos( kx) 0 2 φ( x) > beta[k](1/pi)*it(phi(x)*si(k*x),x=0..2*pi); #,2,3,... dx dx 8
1 β k 0 2 φ( x ) si( kx) dx > alias(h=heaviside,th=thickess,co=color): > phi(x,n)h(x)+2*sum((-1)^*h(x-*pi),=1..n); φ ( x, N ) H( x ) + 2 > phi(x,4)subs(n=4,%); φ ( x, 4 ) H( x ) + 2 > plot(%,x=0..4.5*pi,co=black); N = 1 4 = 1 (-1 ) H ( x ) (-1 ) H ( x ) > Alpha[0]value(subs({phi(x)=phi(x,4),k=0}, alpha[k])); Α 0 0 > Alpha[k]simplify(value(subs(phi(x)=phi(x,4), alpha[k]))); Α k 2 si( k ) ( cos( k ) 1) k > A[k]subs({si(Pi*k)=0,cos(Pi*k)=(-1)^k},%); 0 > BETA[k]simplify(value(subs(phi(x)=phi(x,4), beta[k]))); 2 cos( k ) ( cos( k ) 1) BET k > BETA[k]subs(cos(Pi*k)=(-1)^k,%); 2( -1 ) k ((-1 ) k 1) BET k > y(x,)sum(beta[k]*si(k*x),k=1..); ) 2( -1) k ((-1 ) k 1 ) si( kx) k > y(x,4)value(subs(=4,%)); 9
4 si( x ) 4 ) + > for i i [1,3,99] do y(x,=i)subs(=i,y(x,)) od: > plot({y(x,=1),y(x,=3),y(x,=99)}, x=-4*pi..8*pi,co=black); 4 3 si( 3 x ) Cotiuous Fuctios with Cusps > h(x)piecewise(x>=0 ad x<=1,x,x>=1 ad x<=2*pi,1); h( x ) { x 0 x ad x 1 1 1 x ad x 2 > plot(h(x),x=0..2*pi,co=black); > Alpha[k]simplify(value(subs(phi(x)=h(x),alpha[k]))); 1 + cos( k ) + 2 k si( k ) cos( k ) Α k k 2 > Alpha[k]subs(si(k*Pi)=0,%); 1 + cos( k ) Α k k 2 > Alpha[0]simplify(value(subs(phi(x)=h(x),alpha[0]))); 1+ 4 Α 0 2 10
> BETA[k]simplify(value(subs(phi(x)=h(x),beta[k]))); BET si( k ) + 2 k cos( k ) 2 k k 2 > BETA[k]subs((cos(k*Pi))^2=1,%); BET si( k) + k k 2 > y(x,)alpha[0]/2+sum(alpha[k]*cos(k*x)+ BETA[k]*si(k*x),k=1..); 1+ 4 ) + ( 1 + cos( k )) cos( kx) ( si( k) + k ) si( kx) 4 k 2 k 2 > y(x,1)evalf(subs(=1,%),4); 1 ) 0.9205 0.1463 cos( x ) 0.05046 si( x ) > y(x,3)evalf(subs(=3,%%),4); 3) 0.9205 0.1463 cos( x ) 0.05046 si( x ) 0.1127 cos( 2. x ) 0.08680 si( 2. x ) 0.07038 cos( 3. x ) 0.1011 si( 3. x ) > y(x,99)evalf(subs(=99,%%%),4): > for i i [1,3,99] do y(x,=i)subs(=i,y(x,)) od: > plot({y(x,=1),y(x,=3),y(x,=99)}, x=0..2*pi,color=black); L-two Norm > L_two[]sqrt((1/2/Pi)*It((H(x)-Y(x,))^2, x=0..2*pi)); 1 L_two 2 2 1 ( H( x ) Y ( x, ) ) 2 dx 0 > for i i [1,3,99] do L_two[=i]evalf(sqrt((1/2/Pi)*value(it((h(x)-y(x,i))^2, x=0..2*pi))),4) od; L_two = 1 0.1865 L_two = 3 0.1305 2 11
L_two = 99 0.02257 For = 99 the FOURIER series y(x, = 99) represets a good approximatio to the above give fuctio h(x). > g(x)piecewise(x<-1,-1,x>-1 ad x<1,x,x>1,1); -1 x < -1 g( x ) x -1 < x ad x < 1 1 1 < x > plot(g(x),x=-pi..pi,co=black); > A[k]simplify(value(subs(f(x)=g(x),a[k]))); 0 > A[0]value(subs(f(x)=g(x),a[0])); A 0 0 > B[k]simplify(value(subs(f(x)=g(x),b[k]))); 2( cos( k) k si( k )) k 2 > B[k]subs(cos(Pi*k)=(-1)^k,%); 2( (-1 ) k k si( k ) ) k 2 > y(x,)sum(b[k]*si(k*x),k=1..); ) 2( (-1 ) k k si( k ) ) si( kx) k 2 > y(x,1)evalf(value(subs(=1,%)),4); 1 ) 1.172 si( x ) > y(x,3)evalf(value(subs(=3,%%)),4); 3 ) 1.172 si( x ) 0.1736 si( 2. x ) + 0.2222 si( 3. x ) > for i i[1,3,99] do y(x,=i)subs(=i,y(x,)) od: > plot({y(x,=1),y(x,=3),y(x,=99)}, x=-2*pi..2*pi,co=black); 12
> L_two[]sqrt((1/Pi)*It((G(x)-Y(x,))^2,x=0..Pi)); 1 L_two ( G( x ) Y ( x, ) ) 2 dx 0 > for i i [1,3,99] do L_two[=i]evalf(sqrt((1/Pi)*it((g(x)-y(x,i))^2, x=0..pi)),4) od; L_two = 1 0.3172 L_two = 3 0.2468 L_two = 99 0.02264 > For = 99 the FOURIER series y(x, = 99) represets a good approximatio to the above give fuctio g(x). > 13