(* 2016/12/7 講義のデモ *)

f0[x_]:=Cos[x/2]

f[x_]:=f0[Mod[x,2Pi,-Pi]]

Plot[f[x],{x,-3Pi,3Pi}]

s[n_,x_]:=4/Pi(1/2+ Sum[(-1)^(k-1)/(4k^2-1)Cos[k x],{k,1,n}])

Plot[s[5,x],{x,-3Pi,3Pi}]

Manipulate[Plot[{f[x],s[n,x]},{x,-3Pi,3Pi}],{n,1,20,1}]

(* Manipulate[] は便利だけどレポートでは複数の n の場合を並べるのが良いかもしれない *)

Plot[s[10,x],{x,-3Pi,3Pi}]

Plot[s[20,x],{x,-3Pi,3Pi}]

(* 少しこだわって誤差を調べる *)

err=Table[{2^k,Abs[N[s[2^k,Pi]-f[Pi]]]},{k,1,10}];

gf=ListLogLogPlot[err]

g0[x_]:=Sin[x/2]

Clear[g]

g[x_]:=g0[Mod[x,2Pi,-Pi]]

gg=Plot[g[x],{x,-3Pi,3Pi}]

sg[n_,x_]:=8/Pi Sum[(-1)^(k-1)k/(4k^2-1)Sin[k x],{k,1,n}]

Plot[sg[10,x],{x,-3Pi,3Pi}]

Manipulate[Plot[{g[x],sg[n,x]},{x,-3Pi,3Pi},PlotPoints->200,PlotRange->{-1.5,1.5}],{n,1,40,1}]

(* n を大きくしても、(2k-1)π 近くの跳び(overshoot)は小さくならない。暴れている範囲は狭くなるけど。 *)