李紅艷 萬鐘林
【摘要】借助MATLAB的強(qiáng)大功能,實現(xiàn)Fourier級數(shù)逼近函數(shù)的模擬.通過列舉的典型實例,運用MATLAB生成擬合圖形,結(jié)合理論知識,進(jìn)一步闡釋數(shù)學(xué)軟件在高數(shù)教學(xué)中的重要地位.
【關(guān)鍵詞】函數(shù)逼近;MATLAB;Fourier級數(shù)
【中圖分類號】玂173.1オ
周期為2π的函數(shù)的獸ourier級數(shù)展開 設(shè)函數(shù)f(x)的周期為2π,在[-π,π]上可積,則它的獸ourier級數(shù)展開式為f(x)~a0[]2+А啤轠]n=1(a璶玞os玭x+b璶玸in玭x)(1).其中a璶=1[]πА要π-πf(x)玞os玭x玠玿, n=0,1,2,…
b璶=1[]πА要π-πf(x)玸in玭x玠玿, n=1,2,…
狄利克雷定理(收斂定理) 設(shè)f(x)是以2π為周期的函數(shù),如果它在[-π,π]上連續(xù)或只有有限個第一類間斷點,并且至多只有有限個極值點,則獸ourier級數(shù)(1)收斂,且
(1)當(dāng)x是f的連續(xù)點時,級數(shù)收斂于f;
(2)當(dāng)x是f的間斷點時,級數(shù)收斂于1[]2(f(x-0)+f(x+0)).
用有限的不同的n項傅立葉級數(shù)表示有間斷點的函數(shù)時,在間斷點附近會不可避免地出現(xiàn)獹ibbs現(xiàn)象.在某些間斷點或者端點,獸ourier級數(shù)收斂到該點左右極限和的一半.
對于上述收斂定理的理論描述,學(xué)生理解起來費時費力.為了讓學(xué)生對獸ourier級數(shù)展開式有一個直觀的理解,下面運用數(shù)學(xué)軟件MATLAB強(qiáng)大的計算和繪圖功能,模擬Fourier級數(shù)逼近函數(shù).首先建立MATLAB函數(shù)文件ゝ_series.m,方便做函數(shù)逼近時調(diào)用.
例1函數(shù)y=x,-π 0,0≤x<π的獸ourier級數(shù)展開式及逼近模擬. 獸ourier級數(shù)展開式-π玔]4+2[]πА啤轠]n=11[](2n-1)2玞os(2n-1)x+А啤轠]n=1(-1)﹏+1猍]n玸in玭x. 玀ATLAB程序編碼 syms x;f=(x-abs(x))/2;xx=-pi:.01:pi; yy=subs(f,x,xx);plot(xx,yy,‘-),hold on for n=4∶4∶20 [a,b,f1]=f_series(f,x,n); y1=subs(f1,x,xx); plot(xx,y1,‘-.); if n==8 f1 end end 輸出(1)式中玭=8的Fourier級數(shù)展開為 -1/4*pi+2/pi*cos(x)+sin(x)-1/2*sin(2*x)+2/9/pi*cos(3*x)+1/3*sin(3*x)-1/4*sin(4*x)+2/25/pi*cos(5*x)+1/5*sin(5*x)-1/6*sin(6*x)+2/49/pi*cos(7*x)+1/7*sin(7*x)-1/8*sin(8*x) 輸出圖形為 由生成的圖形可以看出,隨著n值的增大,獸ourier級數(shù)在各連續(xù)點越逼近函數(shù)值,并且在端點x=-π,x=π處獸ourier級數(shù)收斂到兩端點(左、右)極限和的一半-π玔]2.這就是狄利克雷收斂定理的一個直觀解釋.這樣學(xué)生學(xué)習(xí)獸ourier展開式不再感覺枯燥和抽象,降低了理論上的難度,同時縮短數(shù)學(xué)理論與數(shù)學(xué)應(yīng)用之間的距離,培養(yǎng)學(xué)生的數(shù)學(xué)實踐與創(chuàng)新能力. 例2 方波函數(shù)y=1, x≥0, -1,x<0 在[-π,π]上的獸ourier級數(shù)展開式及其逼近模擬. 獸ourier級數(shù)展開式4[]πА啤轠]n=1И玸in(2n-1)x[]2n-1. 玀ATLAB程序編碼 syms x;f=abs(x)/x;;xx=-pi:pi/200:pi; xx=xx(xx~=0);xx=sort([xx,-eps,eps]); yy=subs(f,x,xx);plot(xx,yy,‘-),hold on for n=2∶6∶20 [a,b,f1]=f_series(f,x,n); y1=subs(f1,x,xx); plot(xx,y1,‘-); if n==8 f1 end end 輸出圖形為 輸出(1)式中n=8的獸ourier級數(shù)展開為 4/pi*sin(x)+4/3/pi*sin(3*x)+4/5/pi*sin(5*x)+4/7/pi*sin(7*x) 由生成的圖形可以看出,隨著n值的增大,獸ourier級數(shù)在各連續(xù)點越逼近函數(shù)值,并且在端點x=-π,x=π處獸ourier級數(shù)收斂到兩端點(左、右)極限和的一半0.不過在n=14時圖形就可以得出較好的擬合,再增加n值也不會有太大的改善.這是獸ourier級數(shù)逼近函數(shù)所存在的一個缺陷. 例3 函數(shù)y=|x|在[-π,π]上的獸ourier級數(shù)展開式及其逼近模擬. 獸ourier級數(shù)展開式π玔]2-4[]πА啤轠]n=11[](2n-1)2玞os(2n-1)x. 玀ATLAB程序編碼 syms x;f=abs(x);;xx=-pi:pi/200:pi; yy=subs(f,x,xx);plot(xx,yy,‘-),hold on for n=2∶6∶20 [a,b,f1]=f_series(f,x,n); y1=subs(f1,x,xx); plot(xx,y1,‘--); if n==8 f1 end End 輸出圖形為 輸出(1)式中n=8的獸ourier級數(shù)展開為 1/2*pi-4/pi*cos(x)-4/9/pi*cos(3*x)-4/25/pi*cos(5*x)-4/49/pi*cos(7*x) 這一函數(shù)在[-π,π]都是連續(xù)的,因此在各點獸ourier級數(shù)都能逼近函數(shù)值.由圖看,隨著n增大,擬合圖形幾乎和原圖重合. 上述通過幾個典型實例探討獸ourier級數(shù)逼近函數(shù)的MATLAB模擬,旨在借助數(shù)學(xué)軟件MATLAB輔助教學(xué),給出Fourier級數(shù)展開式的直觀解釋,讓學(xué)生對Fourier級數(shù)不再是望而生畏,而是對該內(nèi)容產(chǎn)生濃厚的學(xué)習(xí)興趣,充分調(diào)動學(xué)生的學(xué)習(xí)積極性,從而提高教學(xué)效果,進(jìn)而培養(yǎng)學(xué)生的數(shù)學(xué)應(yīng)用與創(chuàng)新能力.