張鳳 孔德洲 梁穎




摘?要:本文通過懸鏈線和擺線的討論生動形象地引入了可分離變量微分方程的概念以及求解方法,然后借助MATLAB強大的圖形繪制功能來實現微分方程的可視化,讓學生獲得生動直觀的感性認識,加深學生對抽象函數以及概念的理解,提高課堂教學的整體效果。
關鍵詞:懸鏈線;擺線;MATLAB;分離變量法
高等數學一直給學生的印象就是抽象、晦澀、難懂、掛科率高,甚至好多學生談高數色變,特別是微分方程這一章。我們知道所謂微分方程就是含有自變量、未知函數以及未知函數的各階導數的方程,它里面蘊含了自變量、未知函數以及各階導數之間的關系,而我們學習的目標就是抽絲剝繭,通過學習微分方程的解法,探求函數與自變量之間的函數關系。要讓晦澀難懂的概念變得生動形象,我們要從引入上下文章,讓學生真正體會到數學來源于生活又高于生活。
1?概述
1.1?懸鏈線的討論
我們以懸鏈線為例展開討論,所謂懸鏈線就是把一個繩子自由懸掛于兩定點之間形成的曲線.日常生活中大家隨處可見像懸鏈線這樣的曲線,如雨后的蜘蛛絲、黃昏下的高壓線(圖1),跨海大橋上也能看到懸鏈線的模樣。
其實早在1690年,數學家雅各布·伯努利就建立了懸鏈線所滿足的微分方程組:
dyds=sa2+s2,ys=0=a
dxds=aa2+s2,xs=0=0
其中a是由繩子本身性質和懸掛方式決定的常數。
這雖然是一個微分方程組,但是對于學過積分的同學來說是小菜一碟,對兩個方程應用直接積分法就解決了,解法如下:
dyds=sa2+s2,ys=0=a
y=∫sa2+s2ds=12∫1a2+s2d(a2+s2)
=a2+s2+C
?ys=0=aC=0
y=a2+s2dxds=aa2+s2,xs=0=0
x=∫aa2+s2ds
=aln(s+a2+s2)+C
xs=0=0C=-alna
x=aln(s+a2+s2)-alna
s=aexae-xa2y=a2+s2
s=aexae-xa2
y=aexa+e-xa2
解得懸鏈線方程為:
y=aexa+e-xa2
同學們可能對這個方程代表懸鏈線表示懷疑,那我們用MATLAB繪圖功能來畫出這個方程所表示的曲線。
1.2?用MATLAB繪制懸鏈線方程
懸鏈線的曲線方程為雙曲余弦函數,我們分別以a=1,a=2為例編寫程序,程序如下:
>>x=2.5:0.1:2.5;
>>y=0.5*(exp(x)+exp(x));
>>plot(x,y,'r')
>>grid?on
>>text(1.3,2,'\\leftarrow?a=1','FontSize',14)
>>xlabel('x','fontsize',18)
>>ylabel('y','fontsize',18)
>>hold?on
>>x=2.5:0.1:2.5;
>>y=exp(0.5*x)+exp(0.5*x);
>>plot(x,y,'k')
>>grid?on
>>text(0,2.3,'\\downarrow?a=2','FontSize',14)
>>xlabel('x','fontsize',18)
>>ylabel('y','fontsize',18)
這是數學的理論推導計算功能和MATLAB的程序設計繪圖功能的強強聯合,讓學生從中獲得生動直觀的感性認識。
這個懸鏈線微分方程組我們應用直接積分法就解決了,原因是它的結構簡單,方程的左邊是導數,右邊是單純關于自變量的函數,井水不犯河水,但不是所有的微分方程都如此簡單,下面來看擺線方程。
1.3?擺線方程的討論
擺線是幾何學中的海倫,絕對的幾何學中的女神,在17世紀,大批卓越的數學家熱心于研究這一曲線的性質,如伽利略、帕斯卡、笛卡爾、費爾馬、約翰·伯努利、萊布尼茲、牛頓等,每個都是學術界的大神。筆者對雅各布情有獨鐘,我們還是討論雅各布.伯努利建立的擺線微分方程:
dydx=a3b2ya3
該方程雖然看起來不難但是卻無法用直接積分法,原因很明顯,方程的右邊是關于未知函數y的函數.但是通過交叉相乘方程可變為:
b2ya3dy=a3dx
大家仔細觀察,此時等式的左邊只與y有關,而右邊是單純關于x的表達式,實現了變量分離,因而這個擺線方程就是可分離變量的微分方程,從而很自然地引出可分離變量微分方程的概念。
2?可分離變量微分方程
2.1?可分離變量微分方程的定義及解法
定義:通過等價變形可以寫成g(y)dy=f(x)dx形式的一階微分方程叫做可分離變量的微分方程。
解法?第一步,分離變量:
∫g(y)dy=∫f(x)dx
第二步,兩邊積分:
∫g(y)dy=∫f(x)dx,
得到:
G(y)=F(x)+C
第三步,由G(y)=F(x)+C就確定了方程的隱式通解,獲得了函數y與自變量x的隱式方程,大家知道隱函數未必可以顯化,所以大多數時候我們只能接受隱式通解。
2.2?用分離變量法求解擺線方程
由前面的討論我們知道擺線方程是可分離的,所以由:
dydx=a3b2y-a3,yx=0=a3b2
第一步,分離變量得:
b2ya3dy=a3dx
第二步,兩邊積分得:
∫b2ya3dy=∫a3dx
23b2(b2y-a3)32=xa3+C
yx=0=a3b2
根據初始條件,獲得擺線方程為:
23b2(b2y-a3)32=xa3
同學們可能又要產生疑慮了,這可是隱函數啊,它真的代表的是擺線嗎?其實大家不知道的是,要用MATLAB畫出二元方程所確定的一元隱函數是非常容易的。
2.3?用MATLAB繪制擺線
擺線方程是一個隱函數23b2(b2y-a3)32=xa3,我們以a=1,b=1為例繪制擺線,程序如下:
>>ezplot('2/3*(y1)^(1.5)x');
>>xlabel('x','fontsize',18)
>>ylabel('y','fontsize',18)
>>title('\\bf?圖2?擺線','FontSize',20)
>>grid?on;
>>axis([0,6,1,6])
繪制的圖形如圖3所示:
3?例題
例:求一階微分方程dydx=2yx+1的解,并畫出解曲線。
分析:這是一個可分離變量的微分方程。
解:(1)求出微分方程的通解。
第一步,分離變量得:
dyy=2dxx+1
第二步,兩邊積分得:
lny=2ln(x+1)+lnC
即:
y=C(x+1)2
(2)用MATLAB繪制積分曲線族,程序如下:
>>xm=3;
>>x=xm:0.01:xm;
>>ym=2;
>>x0=xm:0.5:xm;
>>c=ym./(x0+1).^2;
>>[C,X]=meshgrid(c,x)
>>Y=C.*(X+1).^2;
>>figure
>>plot(x,Y,x,Y)
>>grid?on;
>>axis([xm,xm,ym,ym]);
>>y0=ym:0.5:ym;
>>c=y0./(xm+1).^2;
>>[C,X]=meshgrid(c,x)
>>Y=C.*(X+1).^2;
>>hold?on
>>plot(x,Y)
>>y=2*(x+1).^2;
>>plot(x,y,'.')
>>title('微分方程的解曲線','FontSize',18)
>>xlabel('x','FontSize',18)
>>ylabel('y','FontSize',18)
繪制的圖形如圖4所示:
結語
在高等數學中,微分方程是難點也是重點,需要分析方程的類型,確定相應的解法,具體求解需要扎實的積分計算能力,得到通解或者特解之后就確定了函數和自變量的直接關系,但是根據函數的解析式還是無法想象該函數所代表的曲線,這時我們借助MATLAB所擁有的可視化功能可以很方便地將一些抽象的函數尤其是隱函數形象地表示出來,給學生更直觀的講述效果,使高等數學不再晦澀難懂,MATLAB的可視化功能的輔助改變了傳統的粉筆加黑板的課堂教學模式,進一步加深學生對教學內容的理解,提高學生自主學習高等數學的興趣,是培養學生的數學素養的有力工具。
參考文獻:
[1]何正風.Matlab在數學方面的應用[M].北京:清華大學出版社,2012.
[2]薛定宇,陳陽泉.高等應用數學問題的Matlab求解[M].北京:清華大學出版社,2008.
[3]董霖.Matlab使用詳解[M].北京:科學出版社,2008.
基金項目:山東省自然科學基金(ZR2017MA034);山東省重點研發計劃(2019GGX101024)
作者簡介:張鳳(1980—?),女,漢族,山東泰安人,理學碩士,山東農業大學信息學院講師,研究方向:應用數學;梁穎(1980—?),女,漢族,山東肥城人,理學碩士,山東農業大學信息學院講師,研究方向:應用數學。
*通訊作者:孔德洲(1981—?),男,漢族,山東曲阜人,理學博士,山東農業大學信息學院副教授,研究方向:應用數學。