{VERSION 5 0 "IBM INTEL LINUX" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "" -1 256 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 257 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 1 18 0 0 0 0 0 1 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 262 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1 " -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT -1 0 "" }{TEXT 256 0 "" }{TEXT 257 0 "" }{TEXT 258 10 "Lecture 6:" }{TEXT 259 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 0 "" }{TEXT 260 0 "" } {TEXT 261 33 "The Convergence of Fourier Series" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 0 "" }{TEXT 262 11 "Jorge A arao" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 0 " " }{TEXT 263 17 "PCMI, Summer 2003" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 123 " This worksheet contains a procedure (found in the Maple Manual) that c omputes and displays the n-th Fourier approximant for" }}{PARA 0 "" 0 "" {TEXT -1 127 "a function f defined on a given interval. Also to be \+ found are pictures of the Dirichlet kernel, and a visual demonstration of " }}{PARA 0 "" 0 "" {TEXT -1 115 "Gibbs' phenomenon. Finally, at t he end we have a procedure that computes the L^2 norm of the differenc e f - S(f,N)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 71 "Whenever appropriate the code will be given in the form o f a procedure." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 30 "Computing Fourier Coefficients" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 124 "The procedure An takes as its input a function (fun c), its range (xrange), and an integer n, and returns the coefficient \+ An." }}{PARA 0 "" 0 "" {TEXT -1 54 "Likewise, the procedure Bn returns the coefficient Bn." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "An: =proc(func, xrange::name=range, n)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " local l; global A;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " l:= rhs( rhs(xrange) ) - lhs( rhs(xrange) );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " A[n]:= (2/l)*int(func*cos(n*x),xrange);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "end proc:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "An(x,x=-Pi..Pi, 3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "An(x^2, x=-Pi..Pi, 0);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "Bn:=proc(func, xrange::name=range, n::posint)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " local l; global B;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " l:= rhs( rhs(xrange) ) - lhs( rhs(xrange) \+ );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " B[n]:= (2/l)*int(func*sin( n*x),xrange);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "end proc:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "Bn(x,x=-Pi..Pi, 3);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "Bn(x,x=-Pi..Pi, 2);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 31 "Displaying a Single Approximant" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 60 "The proce dure below displays the n-th Fourier approximant to" }{TEXT 264 2 " f " }{TEXT -1 29 ", together with the graph of " }{TEXT 265 1 "f" } {TEXT -1 8 " itself." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 529 "Ap proximantn:=proc(func, xrange::name=range, n::posint)\n local x, a, b, l, k, p, partsum;\n global q; \n a:= lhs( rhs(xrange) );\n b:= rhs( \+ rhs(xrange) );\n l:= b-a;\n x:= 2*Pi*lhs(xrange)/l;\n\n partsum := (1/ l) * evalf(Int(func, xrange));\nfor k from 1 to n do\n partsum:= par tsum+(2/l)*evalf(Int(func*sin(k*x),xrange))*sin(k*x)+\n (2 /l)*evalf(Int(func*cos(k*x),xrange))*cos(k*x);\nod;\nq[n]:=plot(partsu m, xrange, color=blue, args[4..nargs]);\np:=plot(func, xrange, color=r ed, args[4..nargs]);\nplots[display]([q[n],p]);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "Approximantn(x,x=0..Pi, 4);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 26 "Animating \+ the approximants" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 100 "This procedur e shows an animation of the Fourier approximants, and can be found in \+ the Maple manual." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 581 "Fouri erPicture:=proc(func, xrange::name=range, n::posint)\n local x, a, b, \+ l, k, j, p, q, partsum;\n \n a:= lhs( rhs(xrange) );\n b:= rhs( rhs(xr ange) );\n l:= b-a;\n x:= 2*Pi*lhs(xrange)/l;\n\n partsum := (1/l) * e valf(Int(func, xrange));\nfor k from 1 to n do\n partsum:= partsum+( 2/l)*evalf(Int(func*sin(k*x),xrange))*sin(k*x)+\n (2/l)*ev alf(Int(func*cos(k*x),xrange))*cos(k*x);\n q[k]:=plot(partsum, xrang e, color=blue, args[4..nargs]);\nod;\nq:=plots[display]([seq(q[k],k=1. .n)],insequence=true);\np:=plot(func, xrange, color=red, args[4..nargs ]);\nplots[display]([q,p]);\nend:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "FourierPicture(x^2, x=-Pi..Pi, 20);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "#f:=x->piecewise(-Pi " 0 "" {MPLTEXT 1 0 37 "#FourierPict ure(f(x), x=-Pi..Pi, 40);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 3 " " 0 "" {TEXT -1 20 "The Dirichlet Kernel" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 92 "The following procedure plots the graph of the Dirichlet \+ kernel over the interval -Pi to Pi." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "DN:=proc(N)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " l ocal j; global Dir;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 " Dir[N]:=1; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " for j from 1 to N do" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " Dir[N]:=Dir[N]+2*cos(j*x);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " end do;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " plot(Dir[N], x=-Pi..Pi);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "end proc:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "DN(5);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "Int(Dir[5], x=-P i..Pi);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "evalf(%);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 17 "Gibbs' Phe nomenon" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 112 "Whenever we compute th e Fourier approximants of a discontinuous function f, there is a littl e bump that shows up" }}{PARA 0 "" 0 "" {TEXT -1 106 "near every disco ntinuity of f. This is known as Gibbs' phenomenon, and can be easily v erified graphically." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "f:= x->piecewise(-Pi " 0 "" {MPLTEXT 1 0 36 "FourierPicture(f(x), x=-Pi..Pi, 40);" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 23 "Mean Squar e Convergence" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 85 "This procedure co mputes the L^2 norm of f - S(f,N) over the interval from -Pi to Pi." }}{PARA 0 "" 0 "" {TEXT -1 53 "It calls the procedures An and Bn defin ed previously." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "MeanSquar e:=proc(func, N)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " local g, j; g lobal M;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " g:=An(func, x=-Pi..Pi , 0)/2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 " for j from 1 to N do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 73 " g:=g+An(func, x=-Pi..Pi, j)*c os(j*x)+Bn(func, x=-Pi..Pi, j)*sin(j*x);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " end do;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " M:=e valf(sqrt(int((func -g)^2, x=-Pi..Pi)));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "end proc:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "MeanSquare(x, 4);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "Me anSquare(x, 16);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "MeanSqu are(x, 64);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "MeanSquare(x ^2, 4);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "MeanSquare(x^2, \+ 16);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "MeanSquare(x^2, 64) ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "12" 0 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }