閆新生
[摘 要]對于新升本院校的學生來講,學習高等數(shù)學除了掌握必要的數(shù)學知識外,更重要的是培養(yǎng)數(shù)學素質(zhì),掌握應用數(shù)學知識解決實際問題的能力。本文試圖結(jié)合高等數(shù)學的教學實踐,探討如何在高等數(shù)學教學中適時地引入數(shù)值計算,以便提高學生的數(shù)學應用能力。
[關(guān)鍵詞]高等數(shù)學 數(shù)值計算 MATLAB 數(shù)學應用
[中圖分類號] O13 [文獻標識碼] A [文章編號] 2095-3437(2014)16-0082-03
一、高等數(shù)學教學中引入數(shù)值計算的必要
本人作為一名多年從事高等數(shù)學教學的教師,結(jié)合多年的??平虒W實踐,以及對我院第一次招收的本科學生的知識結(jié)構(gòu)情況的掌握,感到這些學生中的大部分數(shù)學基礎知識和運算技巧都有欠缺,要想掌握嚴密的高等數(shù)學理論體系難度較大。另一方面,從應用型本科人才培養(yǎng)目標出發(fā),我們也應當著重培養(yǎng)學生應用數(shù)學的能力,尤其是理工科學生,在今后的工作實踐中,隨時都可能遇到數(shù)值計算和數(shù)據(jù)處理問題需要解決。因此,教師在高等數(shù)學的教學中,應注意適時地引入數(shù)值計算和加強數(shù)據(jù)處理能力的培養(yǎng),以便學生畢業(yè)后能盡快適應工作崗位的要求。
隨著計算機的日益普及和數(shù)學軟件的不斷更新,有關(guān)數(shù)值計算、數(shù)據(jù)處理軟件的日益成熟,教會學生掌握數(shù)值計算的技能已經(jīng)變得相當容易。作為一名高等數(shù)學教師,教學中應該有意識地引入MATLAB輔助教學,加強學生運用計算機解決數(shù)學問題的訓練,培養(yǎng)學生的實踐能力。MATLAB作為一款成熟的數(shù)學軟件,具有優(yōu)秀的數(shù)值計算和數(shù)據(jù)處理能力以及強大的繪圖功能。它無需專門訓練,編程簡單,編程有時就像做數(shù)學題一樣。將MATLAB語言引入高等數(shù)學教學中,無疑是培養(yǎng)學生數(shù)值計算和數(shù)據(jù)處理能力的一條快速有效的途徑。
二、高等數(shù)學教學引入數(shù)值計算的具體做法
對于應用型工科專業(yè)的學生來說,鑒于教學計劃和學時的限制,不可能作為一門課程專門講解數(shù)值計算方面的內(nèi)容。MATLAB的數(shù)學函數(shù)庫包含了大量的計算算法,包括基本函數(shù)、矩陣運算和復雜算法等。我們的做法是:不增加課時,精講高等數(shù)學內(nèi)容,在高等數(shù)學教學的同時,通過介紹MATLAB軟件的基本應用,結(jié)合具體教學內(nèi)容適時地引入MATLAB數(shù)值計算,并安排一定時間的上機實驗,既提高了學生學習高等數(shù)學的興趣,又讓學生在掌握高等數(shù)學知識的同時,培養(yǎng)了利用計算機處理實際問題的能力,可謂一舉兩得。下面介紹MATLAB在幾方面的應用。
(一)極限運算
在介紹兩個重要極限時,對于第二個重要極限,以前總是從數(shù)列極限■(1+■)n開始,通過列表觀察數(shù)列取值的變化規(guī)律?,F(xiàn)在借助MATLAB語言,讓學生自己在計算機上觀察,效果更好。程序如下:
x=1:1000;
y=(1+1./x).^x;
plot(x,y)
(二)定積分運算
(1) 對于定積分運算,由于學生不定積分運算技巧的欠缺,掌握起來感到較難,我們的處理方法是,除了教給學生定積分的基本知識外,把定積分的計算交給計算機來完成。
有理函數(shù)的定積分計算起來較麻煩,利用MATLAB的符號運算,只要兩條很簡單的命令即可解決。如計算定積分■■.命令結(jié)果如下:
syms x
int(x/(x^2-2*x+2)^2,0,2)
運算結(jié)果
ans =
1/4*pi+1/2
我們知道,有些函數(shù)的定積分是沒法應用牛頓—萊布尼茲公式計算的,這時就要用到定積分的近似計算。MATLAB的數(shù)值計算能力在這方面就更加有優(yōu)勢了。如計算定積分■ex2dx.
梯形法計算,命令結(jié)果如下:
x=0:0.01:1;
y=exp(x.*x);
s1=trapz(x,y)
運算結(jié)果:
s1 =
1.4627
辛普生法計算,命令結(jié)果如下:
x=0:0.01:1;
s2=quad(′exp(x.^2)′,0,1)
s2 =
1.4627
(2) 定積分數(shù)值計算的應用
汽車里程表原理。汽車的速度表用來計算汽車輪子轉(zhuǎn)動的快慢,并把它轉(zhuǎn)化為汽車前進的速度。那么里程表又是怎么計算行駛里程的呢?這就用到了定積分的實際意義,即通過計算速度曲線從初始時刻到當前時刻之間的曲邊梯形面積而得到行駛的里程。通過該例,既加強了學生對定積分實際意義的理解,也鍛煉了學生運用高等數(shù)學知識解釋工程應用的能力。
假設某輛汽車在3小時內(nèi)行駛的速度函數(shù)為:
v(x)=25(2sin2(2x)+■xcos2(■)),x∈[0,3]
求該時間段內(nèi)汽車行駛的路程。
先畫出速度曲線,命令如下:
x=0:0.01:3;
y=25*(2*(sin(2*x)).^2+5/2*x.*(cos(x/2)).^2);
plot(x,y)
用數(shù)值積分計算汽車行駛路程,命令結(jié)果如下:
x=0:0.01:3;
y=25*(2*(sin(2*x)).^2+5/2*x.*(cos(x/2)).^2);
s1=sum(y(1:300))*0.01
s2=sum(y(2:301))*0.01
s3=trapz(x,y)
f=inline(′25*(2*(sin(2*x)).^2+5/2*x.*
(cos(x/2)).^2)′,x);
[I,n]=quad(f,0,3)
運行結(jié)果為:
s1 = 169.9960 s2 = 170.0444 s3 = 170.0202 I = 170.0213 n = 165
(三)微分方程數(shù)值解
雖然我們在教學中教會了學生解幾種典型的微分方程,但生產(chǎn)和科研中所處理的微分方程大多很復雜而且得不出一般解,實際問題的處理中更多的要求數(shù)值解。對初值問題,一般是要求得到解在若干個點上滿足規(guī)定精確度的近似值,或者得到一個滿足精確度要求的便于計算的表達式。因此,研究常微分方程的數(shù)值解是十分必要的。MATLAB有相應的求解函數(shù)解決這類問題,而且相當簡單。
如求解初值問題:
■
按照學過的微分方程類型是無法求解的,只能求其數(shù)值解。
解: 令 y1=x,y2=y1′
則微分方程變?yōu)橐浑A微分方程組:
■
程序如下:
先建立函數(shù)文件
function dy=shuzhijie (t,y)
dy=zeros(2,1);
dy(1)=y(2);dy(2)=1000*(1-y(1)^2)*y(2)-y(1);
取t0=0,tf=3000,輸入命令:
[T,Y]=ode15s(′vdp1000′,[0 3000],[2 0]);
plot(T,Y(:,1),′-′)
三、應注意的問題
(一)利用 MATLAB語言處理高等數(shù)學問題只能輔助教學,應避免學生過于依賴計算機解題
誠然,利用數(shù)學軟件解題速度快、準確。但要知道,如果不明白數(shù)學原理,再好的軟件也起不了作用。高等數(shù)學的教學目的始終是培養(yǎng)數(shù)學思維和數(shù)學方法的訓練,教學中第一位的還是要讓學生理解基本概念、掌握基本運算能力、加強實際應用的訓練。只有這樣才談得上運用數(shù)學知識解決實際問題,運用數(shù)學軟件處理工程實際中遇到的問題。一個實際問題建立不了數(shù)學模型怎么能用數(shù)學方法求解呢?利用 MATLAB語言解數(shù)學題只能起驗證作用,不鼓勵學生動輒就用計算機解題。要讓學生明白再好的軟件也是以準確掌握應用原理為前提的,不然,談不上應用更談不上編程。
(二)教學中注意引入 MATLAB語言的時機
由于利用 MATLAB語言處理高等數(shù)學問題只是為了提高學生學習高等數(shù)學的興趣,加強數(shù)學應用能力的培養(yǎng),這就決定了教學中不可能占用過多的學時去介紹這方面的知識。教學實踐中我們的做法是結(jié)合每章的習題課進行,尤其是結(jié)合實際應用類型的習題的求解。先有數(shù)學基礎再介紹必要的MATLAB語言知識,然后讓學生建立數(shù)學模型,最后運用數(shù)學軟件求解。這既加強了章節(jié)知識的理解也同時訓練了數(shù)學知識的應用和計算應用能力。
(三)注重提高學生解決問題的實踐能力的培養(yǎng)
在引入MATLAB輔助高等數(shù)學教學時,教師不能僅限于學生會用計算機解數(shù)學題,而應注重數(shù)學知識的實際應用能力的培養(yǎng),尤其對工科專業(yè)的學生來說,加強運用數(shù)學知識解決工程實際問題更為重要。比如在進行函數(shù)與極限教學時,特別要注意零點定理與介值定理結(jié)合導數(shù)應用中方程近似解的介紹,因為實際應用中的代數(shù)方程只能求其近似解。導數(shù)應用中,加強微分在近似計算中的應用的訓練。定積分概念的教學中,除了讓學生充分理解定積分的實際意義外,還要真正掌握定積分的元素法,會處理變力沿直線所做的功、水壓力、引力等實際應用問題。在微分方程一章的教學中,更要注意與實際應用問題的結(jié)合,因為這一數(shù)學分支在數(shù)學的應用中尤其活躍??傊?,學生學習高等數(shù)學的目的,還是為了應用數(shù)學知識解決實際問題,這也是應用型本科人才的培養(yǎng)目標所要求的。
[ 參 考 文 獻 ]
[1] 金明阮沈勇編著.MATLAB實用教程(第2版)[M].北京:電子工業(yè)出版社,2008.02
[2] 艾冬梅等編著.MATLAB與數(shù)學實驗[M].北京:機械工業(yè)出版社,2010.04
[3] 同濟大學數(shù)學系編高等數(shù)學(第六版)[M].北京:高等教育出版社,2007.04
[責任編輯:林志恒]