李毓剛 張龍飛


【摘 要】論文探討軟件對常微分方程進行計算機輔助分析,其工作不但可促進常微分方程的教學和研究,并為進一步進行常微分方程的課程和教學改革提供資料。
【關鍵詞】計算機輔助分析;常微分方程;軟件
1數學軟件在常微分方程中的實踐應用
下面結合數學軟件探討常微分方程的計算機輔助分析,并討論兩種常用的數學軟件MATLAB和Maple在應用時的異同點。對常微分方程的教學和研究的內容而言,有如下四個方面可應用計算機軟件進行輔助分析計算:
求解線性微分方程要用到的矩陣特征值、特征向量、行列式和指數函數的計算和計算、檢驗微分方程組的平衡點需要用到的代數方程組的(符號)求解。
3種數學軟件都有各種函數可供使用:Mathematica中相應的函數為:Exp[A] (指數函數)、Eigenvalues[A] (特征值)、Eigenvectors[A](特征向量)、Eigensystem[A] (特征值和特征向量)、Det[A] (行列式值)、Solve[{eqns},{vars}] (解代數方程或方程組);MATLAB中為Expm(A)(指數函數)、[V,D]=eig(A)(特征值和特征向量)、det(A)(行列式)、x=A\b(解矩陣方程Ax=b)、[x,y]=solve(‘eqnl,eqn2)(解方程組eqnl,eqn2,變量為x,y);Malpe中為exp(A)(指數函數)、eigenvals(A)(特征值)、eigenvectors(A)(特征向量)、det(A)(行列式)、solve({eqns},{vars})(解方程組{eqns},變量為{vars})。
常微分方程(組)的解(積分曲線或軌線)或輔助曲線的圖形顯示。
一方面是空間或平面中常微分方程所定義的向量場和其輔助分析曲線函數如等傾斜線、V函數曲線及積分曲線或軌線圖的繪制:Mathematica中基本的繪圖函數有Plot[f,{x,xmin,xmax}] (平面曲線圖)、Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}] (空間曲線圖)、ContourPlit[f,{x,xmin,xmax},{y,ymin,ymax}](等高線圖)、ListPlot[{xl,y1},…] (平面點列圖)、ParametricPlot[{x(t),y(t) },{t,tmin,tmax}] (平面參數圖)、PammetricPlot[{x(t),y(t),z(t)),{t,tmin,tmax}] (空間參數圖)、PlotVectorField[{funs},{vars}](平面向量場)、PlotVectorField3D[{funs),{vars}](空間向量場);MATLAB中為quiver(x,y,u,v)(向量場)、contour(X,Y,z,m)(等高線圖)、contour3(X,Y,Z,[a,b])(等高線立體圖);Maple中為dfieldplot(向量場)、contourplot(等高線圖)、contour3d(等高線立體圖)。
另一方面是繪制曲線或軌線圖所需要的數學函數、代數方程(組)及常微分方程(組)的數值求解。因只有少數特殊方程才能求得準確解,所以,特別是常微分方程或方程組要繪制積分曲線或軌線圖要先求其數值解,用足夠精度的近似數值解進行圖形繪制。Mathematica中其常微分方程(組)的數值解函數為不含初始條件sol=NDSolve[{eqnl,eqn2,…},{yl[x],y2[x],…,},{x,xmin,xmax}]與含初始條件sol=NDSolve[{eqnl,eqn2,…,ini_conds},{y1[x],y2[x],…,),{x,xmin,xmax}],其積分曲線圖用Plot[Evaluate[y[x]/.sol],{x,xmin,xmax},PlotRange->A11]、軌線圖用ParametricPlot[Evaluate[{y1[x],y2[x]}/.sol,{x,xmin,xmax},PlotRange->All,AspetRatio->Automatic]。MATLAB中要先將高階微分方程化為一階微分方程組形式,再編寫微分方程組的M文件F.m,然后才調用微分方程數值解函數[T,Y]=ode45(‘F, [a,b],y0),再將結果轉化為積分曲線圖plot(T,Y(:,1),-r,T,Y(:,2),.g)或軌線圖plot(Y(:,1),Y(:,2),-r)。Maple較為特殊,可不必先求其數值解,直接調用常微分方程積分曲線圖及軌線圖函數Deplot(平面)、Deplot3d(空間),而且可以同時畫出不同初始條件的多條軌線,非常方便。
一階特殊微分方程的輔助求解、微分方程的輔助判斷和常微分方程(組)的特殊求解,包括拉普拉斯變換方法及冪級數解方法以及特殊函數的求解。
在Mathematica中拉普拉斯變換方法用拉普拉斯變換函數Laplace Transform[f(t),t,s]化為代數方程(組),再通過符號求解代數方程(組)函數Solve[{eqns},{vars}]解出解后再應用反拉普拉斯變換函數Inverse Laplace Transform[F(s),s,t]得到結果。冪級數解方法必須調用有限項級數代入一項一項對比求解,不能一步到位。MATLAB中不能直接應用拉普拉斯變換和反變換函數解方程,另有信息處理程序包供使用,亦可轉為Maple符號處理環境下應用。Maple中的拉普拉斯變換和反變換函數為laplace(F,t,z)和invlaplace(L,z,t)。3種數學軟件均有眾多的特殊函數供使用。
常微分方程(組)的直接積分。Mathematica和Maple是符號計算軟件,可以應用其符號計算求解常微分方程或方程組的函數DSolve[]和dsolve(),根據參數形式的不同可解不帶初始條件的常微分方程(組),如含初始條件則在方程或方程組后附上初始條件。MATLAB的符號計算核是借助Maple語言,要先作變量說明才能使用。
必須指出的是,正如常微分方程(組)不一定有初等解即能用初等函數或超越函數積出一樣,使用數學軟件不一定保證能解出給定的常微分方程(組)。甚至能積出的常微分方程(組)也不一定能用數學軟件解出,因常微分方程(組)的求解沒有統一方法,要用人工智能處理計算機的求解過程。
2常微分方程計算機輔助分析的具體處理
常微分方程用數學軟件進行輔助分析時往往需要經過幾個步驟調用不同函數才能得到最后結果。下面以常微分方程教材中的常用方法進行討論。
2.1一階微分方程直接求解
2.1.1齊次方程
2.3常微分方程(組)的向量場和積分曲線(軌線)圖
向量場圖必須確定其范圍及向量的大小密度,積分曲線(軌線)圖要先求給定初值和時間區間的方程的數值解(一般選自動定步長),再轉換成圖形。可將同范圍的向量場和多條積分曲線(軌線)合并成一個圖形,以方便分析處理。
2.4拉普拉斯變換方法
對非齊次常系數線性微分方程(組),可用拉普拉斯變換化為代數方程(組),求解代數方程(組)后再通過反拉普拉斯變換得到微分方程(組)的解。在Mathematic和Maple中,由于拉普拉斯變換得到的變量符號較長,需重定變量名較為方便。MATLAB則要另調用動態系統建模仿真軟件包Simulink或優化工具箱使用專用模塊進行處理。
3 3種數學軟件的常微分方程程序選
下面給出3種數學軟件的常微分方程習題中的部分程序。僅列出綱目,具體程序及結果見書《常微分方程學習輔導與習題解答》第十章。Ex5.3-3(2)表《常微分方程(第3版)》[5]中§5.3習題3-(2),余類推。
3.1Mathematica程序
3 .1 .1 輔助計算
3.1.1.1微分、積分D[f.x],D[f,{x,n}],Dt[f,x],ND[f,x,x0],
Integrate[f,x],Integrate[f,{x,a,b}],NIntegrate[f,{x,a,b}];
3.1.1.2求行列式、逆矩陣和轉置矩陣Det[A],Inverse[A],Transpose[A];
3.1.1.3求矩陣特征方程、特征值和特征向量 Ex5.3-3(2);
3.1.1.4求奇點(解方程組)Ex6.1-3(2);
3.1.1.5微分方程數值解Ex3.5-1(計算結果見《常微分方程學習輔導與習題解答》§3.4.6-1)。
3.1 .2輔助判斷
3.1.2.1恰當方程Ex2.3-1(1);
3.1.2.2積分因子Ex2.3-2(5);
3.1.2.3里卡蒂方程Ex2.5-5(3),(b)Ex2.5-5(6);
3.1.2.4驗證方程組解Ex5.2-8(1);
3.1.2.5判斷奇點類型Ex6.3-1(2)。
3.1.3繪圖
3.1.3.1平面向量場及軌線圖貌 (a)Ex6.1-1,(b)Ex6.4-6(1);
3.1.3.2等高線圖Ex6.6-2(2);
3.1.3.3空間曲線、曲面(a)Ex6.5-4,(b)Ex6.6-6。
3.1.4解二階及高階微分方程直接求解
3.1.4.1一階微分方程 Ex2.1-1(1);
3.1.4.2二階及高階微分方程 (a)Ex4.1-3(3);(b)Ex4.2-2(7);
3.1.4.3微分方程組 (a)Ex5.2-8(2);(b)Ex7-l(2);
3.1.4.4微分方程近似解和冪級數解 (a)Ex3.1-1;(b)Ex4.3-2(2);
3.1.4.5矩陣指數、基解矩陣及微分方程組解
(a)§5.4.1-6(3);(b)Ex5.3-4(4);(c)Ex5.3-5(3);
3.1.4.6用拉普拉斯變換求微分方程組解Ex5.3-9[5(1) ]。
參考文獻:
[1]秦大康,張寶善.Mathematica軟件在微分方程中的應用研究.徐州師范大學學報(自然科學版).2001,3
[2]桂占吉,宋作忠.一階常微分方程的計算機輔助教學.數學的實踐與認識.2004,5
[3]何延生.常微分方程的CAI教學.延邊大學學報(自然科學版).2007,2
作者簡介:
李毓剛(1980.4~),男,漢,南海,副高(國家網絡規劃師),軟件工程。