張悅嬌
(北京科技大學(xué)天津?qū)W院基礎(chǔ)部,天津 301830)
隨著我國高等教育招生規(guī)模的不斷擴大,高等教育實現(xiàn)了從精英教育到大眾化教育的過渡。高等數(shù)學(xué)作為大學(xué)一年級的一門十分重要的基礎(chǔ)理論課,其主要研究對象為實變實值函數(shù),尤其是連續(xù)的實變實值函數(shù)。高等數(shù)學(xué)作為一門公共基礎(chǔ)課,其所發(fā)揮的作用也涉及方方面面,比如在電子、軟件工程、工業(yè)生產(chǎn)、運籌學(xué)、經(jīng)濟管理等很多領(lǐng)域都有著重要應(yīng)用。
計算性是數(shù)學(xué)最基本、最顯著的特點,因此求函數(shù)的極限、導(dǎo)數(shù)、積分作為高等數(shù)學(xué)的三大運算,其重要性不言而喻。函數(shù)極限、導(dǎo)數(shù)、積分三種運算間的相互作用關(guān)系如圖1所示。
圖1 函數(shù)極限、導(dǎo)數(shù)、積分三種運算間的相互作用關(guān)系Fig.1 Interaction relationship among three operations, such as functional limit, differential coefficient and integral
MATLAB軟件是一種科學(xué)計算軟件,該軟件將高性能的數(shù)值計算和可視化功能集于一個易于開發(fā)的環(huán)境,已成為高等數(shù)學(xué)、線性代數(shù)、概率論與數(shù)理統(tǒng)計、數(shù)字處理等課程的基本工具,同時MATLAB也成為大學(xué)生必須掌握的基本軟件之一。教師在高等數(shù)學(xué)教學(xué)中引入MATLAB軟件,不僅可以解決計算繁瑣的問題,還可以為學(xué)生增加更多自己動手的機會,進而培養(yǎng)學(xué)生學(xué)習(xí)高等數(shù)學(xué)的興趣與熱情,提升學(xué)生對高等數(shù)學(xué)學(xué)習(xí)的積極性與主動性?;谏鲜龇治觯疚耐ㄟ^列舉實例,對MATLAB軟件在高等數(shù)學(xué)教學(xué)中的應(yīng)用做出相關(guān)探討。
極限是高等數(shù)學(xué)學(xué)科的理論基礎(chǔ),高等數(shù)學(xué)中涉及的求函數(shù)極限的方法主要包括:利用四則運算、利用極限存在準則、利用兩個重要極限、利用等價無窮小替換、利用洛必達法則、利用泰勒公式、利用定積分的定義等求解。下面通過舉例探討MATLAB在求函數(shù)極限中的應(yīng)用。
解:在MATLAB命令窗口中輸入:
syms x
a=limit(x*sin(1/x),x,0)
b=limit(x*sin(1/x),x,0,’right’)
得到所求的結(jié)果為:
a=0
b=0
圖2 (a)函數(shù)當x→0時的變化趨勢 (b)函數(shù)當x→0+時的變化趨勢Fig.2 (a)Variation trend of function when x→0(b)Variation trend of function when x→0+
數(shù)形結(jié)合是數(shù)學(xué)學(xué)習(xí)中很重要的一種方法,從圖2中可以直觀地得到極限的結(jié)果。由例1可以看出,在函數(shù)極限的教學(xué)中引入MATLAB軟件,可以幫助學(xué)生更直觀地感受函數(shù)極限的“動與靜”,有助于學(xué)生更好地掌握函數(shù)極限的概念。MATLAB在求函數(shù)極限運算中的應(yīng)用較為簡單,學(xué)生只要掌握極限運算命令limit的三種基本用法即可。即:
導(dǎo)數(shù)是微積分中重要的基礎(chǔ)概念,下面通過舉例探討MATLAB在求一元函數(shù)導(dǎo)數(shù)、多元函數(shù)偏導(dǎo)數(shù)中的應(yīng)用。
例2 已知y=exp(5*x)*cos(1-x^2),求y′,y(4)。
解:在MATLAB窗口中輸入:
syms x;
y=exp(5*x)*cos(1-x^2);
dy_dx =diff(y,x)
dy_dx_4=diff(y,x,4)
得到所求的結(jié)果為:
dy_dx=5*exp(5*x)*cos(x^2-1)-2*x*exp(5*x)*sin(x^2-1)
dy_dx_4=613*exp(5*x)*cos(x^2-1)-300*exp(5*x)*sin(x^2-1)-600*x^2*exp(5*x)*cos(x^2-1)+16*x^4*exp(5*x)*cos(x^2-1)+48*x^2*exp(5*x)*sin(x^2-1)+160*x^3*exp(5*x)*sin(x^2-1)-240*x*exp(5*x)*cos(x^2-1)-1000*x*exp(5*x)*sin(x^2-1)
解:在MATLAB窗口中輸入:
syms x y z;
z=log(x^3+y^3)*sin((x*y)/(x-y));
z_y=diff(z,y,1)
z_y_x=diff(diff(z,y),x)
得到所求的結(jié)果為:
z_y=log(x^3+y^3)*cos((x*y)/(x-y))*(x/(x-y)+(x*y)/(x-y)^2)+(3*y^2*sin((x*y)/(x-y)))/(x^3+y^3)
z_y_x=log(x^3+y^3)*cos((x*y)/(x-y))*(1/(x-y)-x/(x-y)^2+y/(x-y)^2-(2*x*y)/(x-y)^3)+(3*x^2*cos((x*y)/(x-y))*(x/(x-y)+(x*y)/(x-y)^2))/(x^3+y^3)+(3*y^2*cos((x*y)/(x-y))*(y/(x-y)-(x*y)/(x-y)^2))/(x^3+y^3)-(9*x^2*y^2*sin((x*y)/(x-y)))/(x^3+y^3)^2-log(x^3+y^3)*sin((x*y)/(x-y))*(x/(x-y)+(x*y)/(x-y)^2)*(y/(x-y)-(x*y)/(x-y)^2)
在MATLAB中用來求函數(shù)導(dǎo)數(shù)的命令為diff。diff不僅可以求一元函數(shù)的一階導(dǎo)數(shù)、高階導(dǎo)數(shù),還可以求多元函數(shù)的偏導(dǎo)數(shù)以及高階混合偏導(dǎo)數(shù),由例3可以看出diff在求多元函數(shù)的混合偏導(dǎo)數(shù)時,diff命令是可以嵌套使用的。從上述例題可以看出,在高等數(shù)學(xué)教學(xué)中引入MATLAB,不僅可以提高做題效率,還可以拓展學(xué)生的知識面。如果再通過MATLAB繪圖功能作出導(dǎo)數(shù)幾何意義的動畫演示,更可以激發(fā)學(xué)生學(xué)習(xí)高等數(shù)學(xué)的積極性與熱情,加深學(xué)生對基礎(chǔ)概念的認識與理解,提升學(xué)生解決相關(guān)實際應(yīng)用問題的能力。應(yīng)用MATLAB中diff命令求函數(shù)的導(dǎo)數(shù),應(yīng)掌握以下調(diào)用格式:
(1)diff(f(x),n)返回函數(shù)f(x)的n階導(dǎo)數(shù)f(n)(x)。
MATLAB軟件豐富的功能既可以求函數(shù)的符號積分,也可以計算函數(shù)的數(shù)值積分,對于MATLAB軟件求函數(shù)符號積分只需要熟練掌握命令int及其調(diào)用格式:
(1)int(f) 求函數(shù)f關(guān)于syms定義的符號變量的不定積分。
(2)int(f,v) 求函數(shù)f關(guān)于變量v的不定積分。
(3)int(f,a,b) 求函數(shù)f關(guān)于syms定義的符號變量從a到b的定積分。
(4)int(f,v,a,b) 求函數(shù)f關(guān)于變量v從a到b的定積分。
注:用MATLAB軟件求不定積分時,不自動添加積分常數(shù)C。
解:在MATLAB窗口中輸入:
syms x
fhjf=int(x^2,x,0,1)
x=linspace(0,1,21);y=x.^2;
subplot(1,3,1),plot(x,y),hold on
fill([x,1],[y,0],′b′);
gtext(′1/3′),title(′精確值′)
jx_z=sum(y(1:20))/20
subplot(1,3,2),plot(x,y),hold on
for i=1:20;
fill([x(i),x(i+1),x(i+1),x(i),x(i)],[0,0,y(i),y(i),0],′y′)
end
gtext(′0.3087′),title(′左矩形公式′)
jx_y=sum(y(2:21))/20
subplot(1,3,3), plot(x,y,′r′),hold on
for i=1:20;
fill([x(i),x(i+1),x(i+1),x(i),x(i)],[0,0,y(i+1),y(i+1),0],′g′)
end
gtext(′0.3587′),title(′右矩形公式′)
tx=trapz(x,y)
xps=quad(′x.^2′,0,1)
運行結(jié)果如下所示:
fhjf =1/3
jx_z =0.308750000000000
jx_y =0.358750000000000
tx =0.333750000000000
xps =0.333333333333333
為了便于直觀觀察例4中定積分的精確值與數(shù)值方法計算結(jié)果的誤差,繪制了左、右矩形公式與定積分精確值之間的關(guān)系,如圖3所示。
不難看出,數(shù)值積分的解題過程也體現(xiàn)了定積分定義中“分割—近似求和—取極限”的方法。
圖3 左、右矩形公式與定積分精確值之間的關(guān)系Fig.3 Relationship of left and right matrix formula, and exact value of definite integral
應(yīng)用MATLAB軟件中計算函數(shù)極限的命令limit、計算函數(shù)導(dǎo)數(shù)的命令diff、計算函數(shù)符號積分的命令int時,均需要提前對符號變量進行說明,建立符號變量的調(diào)用格式如下:(1)x=sym(‘x’)建立符號變量x。(2)syms x y z建立多個符號變量x,y,z。需要注意各符號變量之間必須用空格隔開。
MATLAB軟件具有高效直觀、操作簡單的特點,在高等數(shù)學(xué)教學(xué)中引入MATLAB軟件,可以將高等數(shù)學(xué)中抽象理論知識的計算過程及結(jié)果形象化、具體化、動態(tài)化,從而調(diào)動學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)興趣,活躍課堂氣氛,為學(xué)生后續(xù)在數(shù)學(xué)基礎(chǔ)課、專業(yè)課、數(shù)學(xué)建模等的學(xué)習(xí)中提供一種解決計算問題的新方法。