楊真真
摘 要:Matlab作為目前使用最為廣泛的科學(xué)計算類軟件之一,被廣泛應(yīng)用于工程計算、控制設(shè)計等諸多領(lǐng)域。針對多元積分學(xué)中的重積分、曲線積分和曲面積分計算等問題,在多元函數(shù)積分運算教學(xué)中利用Matlab進(jìn)行輔助教學(xué),以激發(fā)學(xué)生學(xué)習(xí)興趣,加深其對所學(xué)知識的理解,提高教學(xué)效果。
關(guān)鍵詞:三重積分;曲線積分;曲面積分;Matlab;多元函數(shù)
DOIDOI:10.11907/rjdk.171983
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼:A 文章編號文章編號:1672-7800(2017)008-0149-04
0 引言
隨著“互聯(lián)網(wǎng)+”和大數(shù)據(jù)技術(shù)的蓬勃發(fā)展,當(dāng)今社會已進(jìn)入全民信息時代[1],傳統(tǒng)的“粉筆—黑板”式的教學(xué)已不再適應(yīng)時代發(fā)展。高等數(shù)學(xué)教學(xué)也在教授學(xué)生基本知識的同時,引入Matlab進(jìn)行輔助教學(xué)[2-5]。在高等數(shù)學(xué)教學(xué)中,多元函數(shù)積分學(xué)是高等數(shù)學(xué)的重點和難點,它涉及的概念、性質(zhì)和公式十分復(fù)雜,包括重積分、曲線積分和曲面積分3大部分內(nèi)容[6-8],學(xué)生往往把握不住重點,有些內(nèi)容難以區(qū)分,計算時更是無從下手。因此,如何激發(fā)學(xué)生學(xué)習(xí)興趣,提高教學(xué)效果,成為高校教授高等數(shù)學(xué)課程教師關(guān)注的重點。
眾所周知,多元函數(shù)積分計算的總體思想是轉(zhuǎn)化為定積分進(jìn)行計算,例如將重積分轉(zhuǎn)化為累次積分,將曲線積分根據(jù)曲線方程轉(zhuǎn)化為定積分,然后將曲面積分根據(jù)曲面方程轉(zhuǎn)化為重積分,進(jìn)而再轉(zhuǎn)化為定積分。在多元函數(shù)積分的具體計算中,要想快速順利地計算出正確結(jié)果,除了掌握定積分轉(zhuǎn)化思想外,還要注意換元法、格林公式、高斯公式和斯托克斯公式等的合理運用。
為了提高教學(xué)效果,激發(fā)學(xué)生學(xué)習(xí)興趣,本文在多元函數(shù)積分學(xué)的重積分、曲線積分和曲面積分的計算教學(xué)中利用Matlab進(jìn)行輔助教學(xué),以加深學(xué)生對多元函數(shù)積分學(xué)計算方法的理解。在高等數(shù)學(xué)教學(xué)中,利用Matlab進(jìn)行輔助教學(xué),不僅給學(xué)生提供了一個快速有效的計算結(jié)果檢驗工具,讓其看到數(shù)學(xué)理論不是那么枯燥無味,還可以使用數(shù)學(xué)軟件進(jìn)行處理,而且讓其認(rèn)識到Matlab的強(qiáng)大功能,為后期學(xué)生進(jìn)行數(shù)學(xué)實驗、參加數(shù)學(xué)建模競賽打下基礎(chǔ)。
1 利用Matlab進(jìn)行三重積分計算
三重積分是高等數(shù)學(xué)教學(xué)中的難點和重點,計算三重積分的方法是將其轉(zhuǎn)化為累次積分。三重積分的計算方法分為直角坐標(biāo)系下三重積分的計算方法、柱面坐標(biāo)系下三重積分的計算方法和球面坐標(biāo)系下三重積分的計算方法,其中直角坐標(biāo)系下三重積分的計算方法又分為“投影法”和“截面法”[9-10]。“投影法”是先對某一變量進(jìn)行積分,然后對其余兩個變量的二重積分進(jìn)行計算。如果三重積分的被積函數(shù)是一元函數(shù),或某兩個變量的二重積分容易積出時,采用“截面法”更為簡單。
三重積分的計算由于方法和形式多樣,學(xué)生學(xué)習(xí)過程中很難區(qū)分各種計算方法。此外,由于三重積分的積分區(qū)域是立體圖形,部分學(xué)生的空間想象力不是很好,將給三重積分的計算帶來很大困難。因此,在三重積分計算中采用Matlab進(jìn)行輔助教學(xué),讓學(xué)生在熟悉三重積分計算方法的同時,能夠?qū)Ψe分區(qū)域進(jìn)行可視化,從而使學(xué)生領(lǐng)略到Matlab的魅力,激發(fā)其學(xué)習(xí)興趣。下面通過例題1介紹采用Matlab求給定函數(shù)在給定區(qū)域的三重積分。
例1 計算三重積分I=Ωzdxdydz,其中Ω由曲面z=x2+y2,z=1,z=2所圍成。首先用Matlab畫出積分區(qū)域Ω:z=x2+y2,z=1,z=2的立體圖形,讓學(xué)生對曲面Ω有個可視化的認(rèn)識,其程序代碼如下,積分區(qū)域圖形如圖1所示。x=-1.2:0.01:1.2; y=x; [X,Y]=meshgrid(x,y); Z1=X.∧2+Y.∧2; mesh(X,Y,Z1); hold on Z2=ones(size(X)); mesh(X,Y,Z2); hold on Z3=2* ones(size(X));mesh(X,Y,Z3); hold off xlabel(′x軸′); ylabel(′y軸′);zlabel(′z軸′);
解法一:在直角坐標(biāo)系下先將三重積分轉(zhuǎn)化為累次積分:I=Ωzdxdydz=4[∫20dx ∫2-x20dy ∫2x2+y2zdz -∫10dx ∫1-x20dy ∫1x2+y2zdz ]其程序代碼如下:syms x y z; I1=int(int(int(z,z,x∧2+y∧2,2),y,0,sqrt(2-x∧2)),x,0,sqrt(2)); I2=int(int(int(z,z,x∧2+y∧2,1),y,0,sqrt(1-x∧2)),x,0,1); I=4*(I1-I2)其輸出為:I =(7*pi)/3。解法二:在柱面坐標(biāo)系下有:I=Ωzdxdydz=∫2π0dθ ∫20dr ∫2r2rzdz -∫2π0dθ ∫10dr ∫1r2rzdz 其程序代碼如下:syms r theta z; I1=int(int(int(r*z,z,r∧2,2),r,0,sqrt(2)),theta,0,2*pi);I2=int(int(int(r*z,z, r∧2,1),r,0,1),theta,0,2*pi); I=I1-I2其輸出為:I =(7*pi)/3。因此,I=Ωzdxdydz=7π3。
2 利用Matlab計算曲線積分
曲線積分分為第一類曲線積分和第二類曲線積分,其計算思想都是將曲線積分根據(jù)曲線方程轉(zhuǎn)化為定積分[11-12]。第一類曲線積分的計算主要通過積分路徑曲線的參數(shù)方程,將其轉(zhuǎn)化為定積分。其中,選擇合適的積分路徑曲線參數(shù)方程是解題的關(guān)鍵。第一類曲線積分的積分路徑和方向無關(guān),轉(zhuǎn)化為定積分時,積分下限總小于積分上限;第二類曲線積分的計算稍為復(fù)雜,分為直接計算和間接計算兩類計算方法。直接計算法,也即通過積分路徑的參數(shù)方程將第二類曲線積分轉(zhuǎn)化為定積分進(jìn)行計算,因為第二類曲線積分和積分路徑的方向有關(guān),轉(zhuǎn)化成的定積分下限對應(yīng)積分路徑曲線的起點,上限對應(yīng)積分路徑曲線的終點。間接計算主要指利用兩類曲線積分的聯(lián)系以及格林公式來計算第二類曲線積分。下面分別通過例2、例3介紹在曲線積分的計算中引入Matlab進(jìn)行輔助教學(xué)。例2 求曲線積分I=∮L(x2+y2)ds,其中曲線L為x2+y2=2x在第一象限的部分。解:設(shè)曲線L的參數(shù)方程為x=1+cost,y=sint (0≤t≤2π),則dx=-sintdt,dy=costdt,ds=dx2+dy2=sin2t+cos2tdt=dt,于是:∮L(x2+y2)ds=∮L2xds=∫2π02(1+cost)dt =4π現(xiàn)用Matlab驗證計算結(jié)果的正確性,其程序代碼如下:endprint
syms t; x=(1+cos(t)); y=sin(t); dx=diff(x,t); dy=diff(y,t); ds=sqrt(dx∧2+dy∧2); f=x∧2+y∧2; I=int(f*ds,t,0,2*pi)輸出為:I =4*pi。例3 求曲線積分I=∮L(x-y)dx+(x+y)dyx2+y2,其中曲線L為圓周x2+y2=a2按逆時針方向繞行。解:設(shè)曲線L的參數(shù)方程為x=acost,y=asint,t為0~2π,dx=-asintdt,dy=acostdt,因此有:I=∮L(x-y)dx+(x+y)dyx2+y2=∫2π0a(cost-sint)·(-asint)+a(cost+sint)·acosta2dt =∫2π0dt =2π現(xiàn)用Matlab驗證計算結(jié)果的正確性,其程序代碼如下:
syms a t; x = a*cos(t); y = a*sin(t); f =[(x-y)/(x∧2+y∧2),(x+y)/(x∧2+y∧2)];ds =[diff(x,t); diff(y,t)]; I = int(f*ds,t,0,2*pi)其輸出為:I =2*pi。
3 利用Matlab計算曲面積分
曲面積分分為第一類曲面積分和第二類曲面積分,其計算思想都是將曲面積分根據(jù)曲面方程轉(zhuǎn)化為二重積分[13-15]。第一類曲面積分的計算主要通過曲面在適當(dāng)坐標(biāo)平面的投影轉(zhuǎn)化為二重積分進(jìn)行計算,選擇合適的坐標(biāo)平面投影是解題關(guān)鍵,注意投影面積不能為零;第二類曲面積分的計算分為直接計算和間接計算兩種,其中直接計算是指通過積分曲面向坐標(biāo)平面投影將第二類曲面積分轉(zhuǎn)化為二重積分進(jìn)行計算,投影方向是固定的,投影面積可以為零。由于第二類曲面積分的積分曲面是有方向的,一定要注意積分曲面的側(cè)面,從而確定二重積分相應(yīng)的符號。間接計算主要指利用兩類曲面積分的聯(lián)系以及高斯公式來計算第二類曲面積分。下面分別通過例4、例5介紹在曲面積分的計算中引入Matlab進(jìn)行輔助教學(xué)。例4 計算曲面積分I=ΣdSz,其中Σ是球面x2+y2+z2=4被平面z=1截出的頂部。首先用Matlab畫出積分區(qū)域Σ,其程序代碼和積分區(qū)域的圖形如下所示:x1=-2:0.01:2; y1=x1; [X1,Y1]=meshgrid(x1,y1); Z1= ones(size(X1)); mesh(X1,Y1,Z1); hold ont=linspace(0,pi,25);p=linspace(0,2*pi,25); [theta,phi]=meshgrid(t,p); x=2*sin(theta).*sin(phi);y=2*sin(theta).*cos(phi); z=2*cos(theta); surf(x,y,z); xlabel(′x軸′);ylabel(′y軸′);zlabel(′z軸′);
解:Σ的方程為z=4-x2-y2,投影區(qū)域為Dxy:x2+y2≤3,故有:dS=1+z2x+z2y=24-x2-y2dxdy于是有:I=ΣdSz=Dxy24-x2-y2dxdy=Dxy2r4-r2drdθ=2∫2π0dθ ∫30r4-r2dr .其程序代碼如下:syms r theta; I= int(int(2*r/(4-r∧2),r, 0,sqrt(3)),theta,0,2*pi)
其輸出為:I=4*pi*log(2)。因此,I=ΣdSz=4πl(wèi)n2。
例5 計算曲面積分Σx2y2zdxdy,其中Σ為半球面z=1-x2-y2的上側(cè)。首先用Matlab畫出積分區(qū)域Σ,其程序代碼和積分區(qū)域的圖形如下:t=linspace(0,pi/2,25);p=linspace(0,2*pi,25); [theta,phi]=meshgrid(t,p); x=sin(theta).*sin(phi); y=sin(theta).*cos(phi); z=cos(theta); surf(x,y,z); xlabel(′x軸′);ylabel(′y軸′);zlabel(′z軸′);
解法一:在直角坐標(biāo)系下有:Σx2y2zdxdy=Dxyx2y21-x2-y2dxdy=∫1-1dx ∫1-x2-1-x2x2y21-x2-y2 dy其程序代碼如下:syms x y; z=sqrt(1-x.∧2-y.∧2); I=int(int(x∧2*y∧2*z,y,-sqrt(1-x∧2),sqrt(1-x∧2)),x,-1,1)其輸出為:I =(2*pi)/105。解法二:在極坐標(biāo)系下有Σx2y2zdxdy=Dxyx2y21-x2-y2dxdy=∫2π0dθ ∫1-1r2cos2θr2sin2θ1-r2 rdr =∫2π0dθ ∫10r51-r2cos2θsin2θ dr其程序代碼如下:syms r theta; I= int(int(r∧5*sqrt(1-r∧2)*(cos(theta))∧2*( sin(theta))∧2,r, 0,1),theta,0,2*pi)其輸出為:I =(2*pi)/105。因此,Σx2y2zdxdy=2π105。
4 結(jié)語
本文將Matlab 應(yīng)用到多元函數(shù)積分包括三重積分、曲線積分和曲面積分的計算中,不僅給學(xué)生提供了一個檢驗計算結(jié)果正確性的方法,而且讓積分區(qū)域圖形可視化,激發(fā)了學(xué)生的學(xué)習(xí)興趣,達(dá)到了更好的教學(xué)效果。此外,在多元函數(shù)積分學(xué)的教學(xué)中使用Matlab進(jìn)行輔助教學(xué),還能培養(yǎng)學(xué)生使用軟件進(jìn)行數(shù)學(xué)計算的能力,為學(xué)生后續(xù)參加數(shù)學(xué)建模競賽等奠定基礎(chǔ)。
參考文獻(xiàn):
[1] 覃慶國,楊亞培,蔣寧,等.依托學(xué)科優(yōu)勢構(gòu)建電子信息類創(chuàng)新人才培養(yǎng)體系[J].電子科技大學(xué)學(xué)報:社會科學(xué)版, 2010, 12(5):103-106.
[2] 唐春明,王中興.Matlab軟件在高等數(shù)學(xué)教學(xué)中的應(yīng)用[J].高等數(shù)學(xué)研究, 2016, 19(1):120-123.
[3] 李永芳.基于MATLAB軟件的高等數(shù)學(xué)實驗教學(xué)[J].高教學(xué)刊, 2017(6):79-80.
[4] 尹云輝. MATLAB在高等數(shù)學(xué)教學(xué)中的應(yīng)用[J].軟件導(dǎo)刊, 2011, 10(5):173-174.
[5] 王秋亮.關(guān)于MATLAB在高等數(shù)學(xué)教學(xué)中的應(yīng)用分析[J].軟件導(dǎo)刊:教育技術(shù), 2016, 15(3):3-5.
[6] 趙洪牛,等.高等數(shù)學(xué)(下) [M].北京:高等教育出版社,2010:58-170.
[7] 同濟(jì)大學(xué)應(yīng)用數(shù)學(xué)系.高等數(shù)學(xué)(上) [M].第7版.北京:高等教育出版社,2014.
[8] 南京郵電大學(xué)高等數(shù)學(xué)教研室.高等數(shù)學(xué)同步學(xué)習(xí)指導(dǎo)[M].北京:高等教育出版社,2013:231-295.
[9] 張輝,李應(yīng)岐,陳春梅.三重積分的計算方法[J].課程教育研究:學(xué)法教法研究, 2016(3):233-234.
[10] 仇海全,潘花.MATLAB在重積分計算中的應(yīng)用[J].重慶工商大學(xué)學(xué)報:自然科學(xué)版, 2012, 29(4):50-54.
[11] 張輝,李應(yīng)岐,敬斌,等.第一類曲線積分的計算方法[J].高等數(shù)學(xué)研究, 2015, 18(2):27-29.
[12] 景慧麗,趙偉舟,楊寶珍,等.第二類平面曲線積分的計算探討[J].蘭州文理學(xué)院學(xué)報:自然科學(xué)版, 2012, 26(6):99-102.
[13] 張輝,李應(yīng)岐,趙偉舟,等.第一類曲面積分的計算方法[J].高等數(shù)學(xué)研究, 2014(2):44-46.
[14] 楊雯靖.第二類曲面積分的計算方法探討[J].數(shù)學(xué)學(xué)習(xí)與研究, 2015(17):93-94.
[15] 魏光美,馮偉杰.第二類曲面積分的計算方法[J].高等數(shù)學(xué)研究, 2012, 15(4):104-106.endprint