Approximations to Piecewise Continuous Functions
Univ.-Prof. Dr.-Ing. habil. Josef BETTEN
RWTH Aachen University
Templergraben 55
D-52056 A a c h e n , Germany
betten@mmw.rwth-aachen.de
Abstract
This worksheet is concerned with approximations to piecewise continuous functions. It has been illustrated that Maplesoft furnishes powerful tools in finding best approximations to several functions. Some examples are discussed in more detail.
Keywords: step functions; HEAVISIDE functions; FOURIER approximation; L-two norm
FOURIER Approximation
> |
FOURIER_series(x):= a[0]/2+sum(a[k]*cos(k*x)+b[k]*sin(k*x),k=1..infinity); |
![`:=`(FOURIER_series(x), `+`(`*`(`/`(1, 2), `*`(a[0])), sum(`+`(`*`(a[k], `*`(cos(`*`(k, `*`(x))))), `*`(b[k], `*`(sin(`*`(k, `*`(x)))))), k = 1 .. infinity)))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_2.gif) |
(1) |
> |
a[k]:=(1/Pi)*Int(f(x)*cos(k*x),x=0..2*Pi); |
![`:=`(a[k], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(f(x), `*`(cos(`*`(k, `*`(x))))), x = 0 .. `+`(`*`(2, `*`(Pi))))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_3.gif) |
(2) |
> |
a[0]:=simplify(subs(k=0,%)); |
![`:=`(a[0], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(f(x), x = 0 .. `+`(`*`(2, `*`(Pi))))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_4.gif) |
(3) |
> |
b[k]:=(1/Pi)*Int(f(x)*sin(k*x),x=0..2*Pi); |
![`:=`(b[k], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(f(x), `*`(sin(`*`(k, `*`(x))))), x = 0 .. `+`(`*`(2, `*`(Pi))))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_5.gif) |
(4) |
Unit Step Function or HEAVISIDE Unit Function
> |
F(x):=piecewise(x>0 and x<Pi,1,x>Pi and x<2*Pi,-1,x>2*Pi,1); |
 |
(5) |
> |
plot(%,x=0..2.1*Pi,labels=[x,F],color=black); |
Alternatively, the piecewise continuous function F(x) can be represented as a HEAVISIDE
function:
> |
HEAVISIDE[F]:=convert(F(x),H); |
![`:=`(HEAVISIDE[F], `+`(H(x), `-`(`*`(2, `*`(H(`+`(x, `-`(Pi)))))), `*`(2, `*`(H(`+`(`-`(`*`(2, `*`(Pi))), x))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_8.gif) |
(6) |
> |
plot(%,x=0..2.1*Pi,color=black, title="HEAVISIDE unit step function"); |
> |
A[0]:=value(subs(f(x)=F(x),a[0])); |
![`:=`(A[0], 0)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_10.gif) |
(7) |
> |
A[k]:=simplify(value(subs(f(x)=F(x),a[k]))); |
![`:=`(A[k], `+`(`-`(`/`(`*`(2, `*`(sin(`*`(k, `*`(Pi))), `*`(`+`(`-`(1), cos(`*`(k, `*`(Pi))))))), `*`(k, `*`(Pi))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_11.gif) |
(8) |
> |
A[k]:=subs(sin(k*Pi)=0,%); |
![`:=`(A[k], 0)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_12.gif) |
(9) |
> |
B[k]:=simplify(value(subs(f(x)=F(x),b[k]))); |
![`:=`(B[k], `+`(`/`(`*`(2, `*`(cos(`*`(k, `*`(Pi))), `*`(`+`(`-`(1), cos(`*`(k, `*`(Pi))))))), `*`(k, `*`(Pi)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_13.gif) |
(10) |
> |
B[k]:=simplify(subs(cos(k*Pi)=(-1)^k,%)); |
![`:=`(B[k], `+`(`/`(`*`(2, `*`(`+`(`^`(-1, `+`(1, k)), `^`(-1, `+`(`*`(2, `*`(k))))))), `*`(k, `*`(Pi)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_14.gif) |
(11) |
> |
for i in [1,3,5] do y(x,n=i):=sum(B[k]*sin(k*x),k=1..i) od; |
 |
(12) |
 |
(12) |
 |
(12) |
> |
plot({y(x,n=1),y(x,n=3),y(x,n=5)},x=0..3.5*Pi, labels=[x,y],color=black, title="Approximations with n = [1, 3, 5]"); |
> |
for i in [1,3,99] do y(x,n=i):=sum(B[k]*sin(k*x),k=1..i) od: |
> |
plot({y(x,n=1),y(x,n=3),y(x,n=99)},x=0..3.5*Pi, labels=[x,y],color=black, title="Approximations with n = [1, 3, 99]"); |
> |
L_zwei[n]:=sqrt((1/Pi)*Int((F(x_)-y(x,n))^2,x=0..Pi)); |
![`:=`(L_zwei[n], `*`(`^`(`+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(`^`(`+`(F(x_), `-`(y(x, n))), 2)), x = 0 .. Pi)))), `/`(1, 2))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_20.gif) |
(13) |
> |
for i in [1,3,5,99] do L_zwei[n=i]:= evalf(sqrt((1/Pi)*int((F(x)-y(x,n=i))^2,x=0.05..0.95*Pi)),4) od; |
![`:=`(L_zwei[n = 1], .3658)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_21.gif) |
(14) |
![`:=`(L_zwei[n = 3], .2293)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_22.gif) |
(14) |
![`:=`(L_zwei[n = 5], .1658)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_23.gif) |
(14) |
![`:=`(L_zwei[n = 99], 0.1289e-1)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_24.gif) |
(14) |
Example: h(x)
> |
h(x):=piecewise(x>0 and x<Pi,Pi,x>Pi and x<2*Pi,x-Pi, x>2*Pi and x<3*Pi,Pi); |
 |
(15) |
> |
plot(%,x=0..3*Pi,color=black,labels=[x,h]); |
> |
HEAVISIDE[h]:=convert(h(x),H); |
![`:=`(HEAVISIDE[h], `+`(`*`(Pi, `*`(H(x))), `-`(`*`(2, `*`(Pi, `*`(H(`+`(x, `-`(Pi))))))), `*`(x, `*`(H(`+`(x, `-`(Pi))))), `-`(`*`(x, `*`(H(`+`(`-`(`*`(2, `*`(Pi))), x))))), `*`(2, `*`(Pi, `*`(H(`+`(`...](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_27.gif) |
(16) |
> |
plot(%,x=0..3*Pi,color=black, title="HEAVISIDE Function for h(x)"); |
> |
A[0]:=value(subs(f(x)=h(x),a[0])); |
![`:=`(A[0], `+`(`/`(`*`(3, `*`(Pi)), `*`(2))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_29.gif) |
(17) |
> |
A[k]:=simplify(value(subs(f(x)=h(x),a[k]))): |
> |
A[k]:=subs({sin(k*Pi)=0,cos(k*Pi)=(-1)^k,(cos(k*Pi))^2=1},%); |
![`:=`(A[k], `/`(`*`(`+`(1, `-`(`^`(-1, k)))), `*`(Pi, `*`(`^`(k, 2)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_30.gif) |
(18) |
> |
B[k]:=simplify(value(subs(f(x)=h(x),b[k]))): |
> |
B[k]:=subs({sin(k*Pi)=0,cos(k*Pi)=(-1)^k,(cos(k*Pi))^2=1},%); |
![`:=`(B[k], `+`(`-`(`/`(`*`(`^`(-1, k)), `*`(k)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_31.gif) |
(19) |
> |
y(x,n):=A[0]/2+sum(A[k]*cos(k*x)+B[k]*sin(k*x),k=1..n); |
 |
(20) |
> |
for i in [1,2,3] do y(x,n=i):=A[0]/2+sum(A[k]*cos(k*x)+B[k]*sin(k*x),k=1..i) od; |
 |
(21) |
 |
(21) |
 |
(21) |
> |
alias(H=Heaviside,co=color): |
> |
p[1]:=plot({y(x,n=1),y(x,n=2),y(x,n=3)},x=0..3*Pi,co=black): |
> |
p[2]:=plot(1.72*H(x-3*Pi),x=0..3.01*Pi,co=black): |
> |
p[3]:=plot(h(x),x=0..3*Pi, title="Approximations with n = [1, 2, 3]" ): |
> |
plots[display]({seq(p[k],k=1..3)}); |
> |
for i in [1,2,50] do y(x,n=i):=A[0]/2+sum(A[k]*cos(k*x)+B[k]*sin(k*x),k=1..i) od: |
> |
p[4]:=plot({y(x,n=1),y(x,n=2),y(x,n=50)},x=0..3*Pi,co=black): |
> |
p[5]:=plot(1.72*H(x-3*Pi),x=0..3.01*Pi,co=black, title="Approximations with n = [1, 2, 50]"): |
> |
plots[display]({p[4],p[5]}); |
Smoothing of the FOURIER-Series y(x, n=3):
> |
g(k,N):=sin(Pi*k/N)/(Pi*k/N); # smoothing factor |
 |
(22) |
> |
G(x,n,N):=A[0]/2+ sum(g(kappa,Nu)*(A[kappa]*cos(kappa*x)+B[kappa]*sin(kappa*x)), kappa=1..n); # smoothing function |
![`:=`(G(x, n, N), `+`(`/`(`*`(3, `*`(Pi)), `*`(4)), sum(`*`(g(kappa, Nu), `*`(`+`(`*`(A[kappa], `*`(cos(`*`(kappa, `*`(x))))), `*`(B[kappa], `*`(sin(`*`(kappa, `*`(x)))))))), kappa = 1 .. n)))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_39.gif) |
(23) |
> |
g(k,4):=subs(N=4,g(k,N)); # N := n + 1 |
 |
(24) |
> |
G(x,n=3,N=4):=subs({n=3,Nu=4,kappa=k,g(kappa,Nu)=g(k,4), A[kappa]=A[k],B[kappa]=B[k]},G(x,n,N)); |
 |
(25) |
> |
alias(H=Heaviside,co=color): |
> |
p[6]:=plot({y(x,n=3),G(x,n=3,N=4)},x=0..3*Pi,co=black): |
> |
p[7]:=plot(1.72*H(x-3*Pi),x=0..3.01*Pi,co=black): |
> |
p[8]:=plot(h(x),x=0..3*Pi, title="Approximation with n = 3 and its Smoothing"): |
> |
plots[display](seq(p[k],k=6..8)); |
Smoothing of the FOURIER-Series y(x, n = 2):
g(k,3):=subs(N=3,g(k,N));
 |
(26) |
> |
G(x,n=2,N=3):=evalf(A[0]/2+ sum(g(k,3)*(A[k]*cos(k*x)+B[k]*sin(k*x)),k=1..2),4); |
 |
(27) |
> |
alias(H=Heaviside,co=color): |
> |
p[9]:=plot({h(x),y(x,n=2),G(x,n=2,N=3)},x=0..3*Pi,co=black, title="Approximation with n = 2 and its Smoothing"): |
> |
plots[display]({p[7],p[9]}); |
The above Figures illustrate the good approximations to the given function h(x).
Example: K(x)
> |
K(x):=piecewise(x>-Pi and x<0,3,x>0 and x<1/2,0, x>1/2 and x<Pi,1/x); |
 |
(28) |
> |
plot(%,x=-Pi..Pi,color=black,labels=[x,K]); |
> |
alpha[0]:=(1/Pi)*Int(f(x),x=-Pi..Pi); |
![`:=`(alpha[0], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(f(x), x = `+`(`-`(Pi)) .. Pi)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_48.gif) |
(29) |
> |
alpha[k]:=(1/Pi)*Int(f(x)*cos(k*x),x=-Pi..Pi); |
![`:=`(alpha[k], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(f(x), `*`(cos(`*`(k, `*`(x))))), x = `+`(`-`(Pi)) .. Pi)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_49.gif) |
(30) |
> |
beta[k]:=(1/Pi)*Int(f(x)*sin(k*x),x=-Pi..Pi); |
![`:=`(beta[k], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(f(x), `*`(sin(`*`(k, `*`(x))))), x = `+`(`-`(Pi)) .. Pi)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_50.gif) |
(31) |
> |
Alpha[0]:=value(subs(f(x)=K(x),alpha[0])); |
![`:=`(Alpha[0], `/`(`*`(`+`(`*`(3, `*`(Pi)), ln(2), ln(Pi))), `*`(Pi)))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_51.gif) |
(32) |
> |
Alpha[k]:=simplify(value(subs(f(x)=K(x),alpha[k]))); |
![`:=`(Alpha[k], `+`(`-`(`/`(`*`(`+`(`-`(`*`(3, `*`(sin(`*`(k, `*`(Pi)))))), `*`(Ci(`+`(`/`(`*`(k), `*`(2)))), `*`(k)), `-`(`*`(Ci(`*`(k, `*`(Pi))), `*`(k))))), `*`(k, `*`(Pi))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_52.gif) |
(33) |
> |
A[k]:=subs(sin(k*Pi)=0,%); |
![`:=`(A[k], `+`(`-`(`/`(`*`(`+`(`*`(Ci(`+`(`/`(`*`(k), `*`(2)))), `*`(k)), `-`(`*`(Ci(`*`(k, `*`(Pi))), `*`(k))))), `*`(k, `*`(Pi))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_53.gif) |
(34) |
> |
BETA[k]:=simplify(value(subs(f(x)=K(x),beta[k]))); |
![`:=`(BETA[k], `/`(`*`(`+`(`*`(3, `*`(cos(`*`(k, `*`(Pi))))), `-`(3), `-`(`*`(Si(`+`(`/`(`*`(k), `*`(2)))), `*`(k))), `*`(Si(`*`(k, `*`(Pi))), `*`(k)))), `*`(k, `*`(Pi))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_54.gif) |
(35) |
> |
BETA[k]:=subs(cos(k*Pi)=(-1)^k,%); |
![`:=`(BETA[k], `/`(`*`(`+`(`*`(3, `*`(`^`(-1, k))), `-`(3), `-`(`*`(Si(`+`(`/`(`*`(k), `*`(2)))), `*`(k))), `*`(Si(`*`(k, `*`(Pi))), `*`(k)))), `*`(k, `*`(Pi))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_55.gif) |
(36) |
> |
y(x,n):=Alpha[0]/2+ sum(Alpha[k]*cos(k*x)+BETA[k]*sin(k*x),k=1..n): |
> |
y(x,n):=subs(sin(k*Pi)=0,%); |
  |
(37) |
> |
y(x,1):=subs(n=1,y(x,n)): |
 |
(38) |
> |
y(x,3):=subs(n=3,y(x,n)): |
  |
(39) |
> |
y(x,149):=subs(n=149,y(x,n)): |
> |
plot({Y(x,1),Y(x,3),Y(x,149)},x=-Pi..Pi,co=black, title="Approximations with n = [1, 3, 149]"); |
> |
L_two[n]:=sqrt((1/2/Pi)*Int((K(x_)-Y(x,n))^2,x=-Pi..Pi)); |
![`:=`(L_two[n], `+`(`*`(`/`(1, 2), `*`(`*`(`^`(2, `/`(1, 2)), `*`(`^`(`+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(`^`(`+`(K(x_), `-`(Y(x, n))), 2)), x = `+`(`-`(Pi)) .. Pi)))), `/`(1, 2))))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_62.gif) |
(40) |
> |
for i in [1,3,149] do L_two[n=i]:=evalf(sqrt((1/2/Pi)*int((K(x)-Y(x,i))^2,x=-3..3)),4) od; |
![`:=`(L_two[n = 1], .6257)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_63.gif) |
(41) |
![`:=`(L_two[n = 3], .4876)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_64.gif) |
(41) |
![`:=`(L_two[n = 149], 0.6635e-1)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_65.gif) |
(41) |
Example: M(x)
> |
M(x):=piecewise(-Pi<x and x<0,1, x>0 and x<1/2,2, x>1/2 and x<Pi,1/x); |
 |
(42) |
> |
plot(%,x=-Pi..Pi,color=black,labels=[x,M]); |
> |
a[0]:=(1/Pi)*Int(f(x),x=-Pi..Pi); |
![`:=`(a[0], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(f(x), x = `+`(`-`(Pi)) .. Pi)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_68.gif) |
(43) |
> |
a[k]:=(1/Pi)*Int(f(x)*cos(k*x),x=-Pi..Pi); |
![`:=`(a[k], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(f(x), `*`(cos(`*`(k, `*`(x))))), x = `+`(`-`(Pi)) .. Pi)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_69.gif) |
(44) |
> |
b[k]:=(1/Pi)*Int(f(x)*sin(k*x),x=-Pi..Pi); |
![`:=`(b[k], `+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(f(x), `*`(sin(`*`(k, `*`(x))))), x = `+`(`-`(Pi)) .. Pi)))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_70.gif) |
(45) |
> |
A[0]:=value(subs(f(x)=M(x),a[0])); |
![`:=`(A[0], `/`(`*`(`+`(1, Pi, ln(2), ln(Pi))), `*`(Pi)))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_71.gif) |
(46) |
> |
A[k]:=simplify(value(subs(f(x)=M(x),a[k]))); |
![`:=`(A[k], `+`(`-`(`/`(`*`(`+`(`-`(sin(`*`(Pi, `*`(k)))), `-`(`*`(2, `*`(sin(`+`(`/`(`*`(k), `*`(2))))))), `*`(Ci(`+`(`/`(`*`(k), `*`(2)))), `*`(k)), `-`(`*`(Ci(`*`(Pi, `*`(k))), `*`(k))))), `*`(Pi, `...](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_72.gif) |
(47) |
> |
A[k]:=subs(sin(Pi*k)=0,%); |
![`:=`(A[k], `+`(`-`(`/`(`*`(`+`(`-`(`*`(2, `*`(sin(`+`(`/`(`*`(k), `*`(2))))))), `*`(Ci(`+`(`/`(`*`(k), `*`(2)))), `*`(k)), `-`(`*`(Ci(`*`(Pi, `*`(k))), `*`(k))))), `*`(Pi, `*`(k))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_73.gif) |
(48) |
> |
B[k]:=simplify(value(subs(f(x)=M(x),b[k]))); |
![`:=`(B[k], `/`(`*`(`+`(cos(`*`(Pi, `*`(k))), 1, `-`(`*`(2, `*`(cos(`+`(`/`(`*`(k), `*`(2))))))), `-`(`*`(Si(`+`(`/`(`*`(k), `*`(2)))), `*`(k))), `*`(Si(`*`(Pi, `*`(k))), `*`(k)))), `*`(Pi, `*`(k))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_74.gif) |
(49) |
> |
B[k]:=subs(cos(Pi*k)=(-1)^k,%); |
![`:=`(B[k], `/`(`*`(`+`(`^`(-1, k), 1, `-`(`*`(2, `*`(cos(`+`(`/`(`*`(k), `*`(2))))))), `-`(`*`(Si(`+`(`/`(`*`(k), `*`(2)))), `*`(k))), `*`(Si(`*`(Pi, `*`(k))), `*`(k)))), `*`(Pi, `*`(k))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_75.gif) |
(50) |
> |
for i in [1,2,3,10] do y(x,n=i):=evalf(A[0]/2+ sum(A[k]*cos(k*x)+B[k]*sin(k*x),k=1..i),4) od; |
 |
(51) |
 |
(51) |
  |
(51) |
> |
alias(H=Heaviside,th=thickness,co=color): p[1]:=plot({seq(y(x,n=i),i=1..3)},x=-Pi..Pi,co=black): |
> |
p[2]:=plot(M(x),x=-Pi..Pi,th=2,co=black): |
> |
p[3]:=plot(0.7191*H(x+Pi),x=-1.001*Pi..-0.999*Pi,co=black): |
> |
p[4]:=plot(0.7196*H(x-Pi),x=0.999*Pi..1.001*Pi,co=black, title="Approximations with n = [1, 2, 3]"): |
> |
plots[display]({seq(p[k],k=1..4)}); |
> |
y(x,n=99):=evalf(A[0]/2+ sum(A[k]*cos(k*x)+B[k]*sin(k*x),k=1..99),4): |
> |
plot({M(x),y(x,n=99)},x=-Pi..Pi,color=black, title="M(x) and y(x, n = 99)"); |
> |
L_two[n]:=sqrt((1/2/Pi)*Int((M(x_)-y(x,n))^2,x=-Pi..Pi)); |
![`:=`(L_two[n], `+`(`*`(`/`(1, 2), `*`(`*`(`^`(2, `/`(1, 2)), `*`(`^`(`+`(`*`(`/`(1, `*`(Pi)), `*`(Int(`*`(`^`(`+`(M(x_), `-`(y(x, n))), 2)), x = `+`(`-`(Pi)) .. Pi)))), `/`(1, 2))))))))](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_86.gif) |
(52) |
> |
for i in [1,2,3,99] do L_two[n=i]:=evalf(sqrt((1/2/Pi)*int((M(x)-y(x,n=i))^2, x=-3..3)),4) od; |
![`:=`(L_two[n = 1], .3048)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_87.gif) |
(53) |
![`:=`(L_two[n = 2], .1963)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_88.gif) |
(53) |
![`:=`(L_two[n = 3], .1770)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_89.gif) |
(53) |
![`:=`(L_two[n = 99], 0.2278e-1)](/view.aspx?SI=6565/Approximation_to_Piecewise_Continuous_Functions_90.gif) |
(53) |
Smoothing of the FOURIER-Series y(x, n = 3):
> |
g(k,N):=N*sin(k*Pi/N)/k/Pi; |
 |
(54) |
 |
(55) |
> |
G(x,n=3,N=4):=evalf(A[0]/2+ sum(g(k,4)*(A[k]*cos(k*x)+B[k]*sin(k*x)),k=1..3),4); |
  |
(56) |
> |
plot({M(x),y(x,n=3),G(x,n=3,N=4)},x=-Pi..Pi,color=black, title="Smoothing of the FOURIER-Series y(x, n = 3)"); |
> |
g(k,11):=subs(N=11,g(k,N)); |
 |
(57) |
> |
G(x,n=10,N=11):=evalf(A[0]/2+ sum(g(k,11)*(A[k]*cos(k*x)+B[k]*sin(k*x)),k=1..10),4); |
> |
plot({M(x),y(x,n=10),G(x,n=10,N=11)},x=-Pi..Pi,color=black, title="FOURIER-Series y(x, n = 10) and its Smoothing"); |
R?sum?
In this worksheet it has been illustrated that Maplesoft furnishes powerful tools in finding best approximations to several piecewise continuous functions.