歐陽和平 劉姣娥 陽 暉
(湖南食品藥品職業(yè)學院 湖南 長沙 410014)
在科學研究、工程和生產(chǎn)實踐中,往往要碰到求曲邊梯形面積的問題。 在直角坐標系中,曲邊梯形面積是指由曲線y=f(x)和直線x=a、x=b 及y=0 所圍成的面積。這里,f(x)>0,b>a。該曲邊梯形面積,在數(shù)學上可以通過計算被積函數(shù)為f(x),積分下、上限分別為a 與b 的定積分來得到。 當被積函數(shù)f(x)能用初等函數(shù)表達,在積分區(qū)間連續(xù),并且能找到f(x)的原函數(shù)F(x),那么,定積分的值S=F(b)-F(a)。但當f(x)不能用初等函數(shù)來表達,或只是一些實驗得出來的經(jīng)驗值序列,或f(x)的原函數(shù)F(x)不能用初等函數(shù)來表達,則S 只能通過近似計算來求得。 求曲邊梯形面積近似值的方法有矩形法、 梯形法和拋物線法等多種,具體可采用圖解法、計算機編程來計算,但都有一定的局限性。圖解法受繪圖界面所限制,不可能將曲邊梯形分得太小,計算繁瑣且不精確。計算機編程又不是一般人都能掌握的,就是掌握了也不是在所有場合都適應的。 本文提出一種用Microsoft Excel 計算曲邊梯形面積近似值的簡單而又實用的方法。
前已述,求曲邊梯形面積近似值的方法有矩形法、梯形法和拋物線法。 不管是哪種方法都是先將曲邊梯形細分成若干小曲邊梯形,接著分別計算出各小曲邊梯形面積的近似值,最后將各小曲邊梯形的近似值之和作為整個曲邊梯形面積的近似值。 所不同的是:矩形法將每個小曲邊梯形的曲邊用一條水平直線來代替,因而小曲邊梯形就變成了小矩形,計算小曲邊梯形面積就變成了計算小矩形面積;而梯形法則是將每個小曲邊梯形的曲邊以一條連接兩個交點的直線段來代替,這樣小曲邊梯形就變成了小梯形,計算小曲邊梯形面積就變成了計算小梯形面積;拋物線法則是以拋物線上的一段弧代替小曲邊梯形的曲線弧,從而計算出定積分的近似值。
用分點將區(qū)間[a,b]分成n 個小區(qū)間,對應區(qū)間長分別為Δx0,Δx1,…,Δxn-1,Δxn,并設函數(shù)f(x)對應于各分點的函數(shù)值分別為f(x0),f(x1),…,f(xn-1),f(xn),那么,
矩形法表示的曲邊梯形的面積為:
上述四個公式代表四種方法。 四種方法雖然都是矩形法,但其意義有所不同。 矩形法1 以左邊高f(xi-1)作為小矩形的高,矩形法2 以右邊高f(xi)作為小矩形的高,矩形法3 以f(xi-1)、f(xi)中較小作為小矩形的高,矩形法4 以f(xi-1)、f(xi)中較大作為小矩形的高。
梯形法表示的曲邊梯形的面積為:
值得注意的是, 矩形法和梯形法的小區(qū)間劃分并不一定要均分,這要根據(jù)f(x)在積分區(qū)間的特征來決定。
拋物線法又稱辛普森(Simpson)法。 拋物線法表示的曲邊梯形面積相對復雜一些。為簡單起見,將區(qū)間[a,b]分成n 個均等的小區(qū)間,且n 為偶數(shù),由于各區(qū)間長度相等,拋物線法表示的曲邊梯形面積公式為:
式中,n 為偶數(shù);ki序列為1,4,2,…,2,4,1。
圖1
首先在A 列輸入分點的序號,B列用等差數(shù)列自動填充方法填入各分點的xi值。 C 列根據(jù)xi值計算出對應的f(xi)值。 方法是先在C2單元格輸入公式“=EXP(-(B2^2))”,計算出f(x0),然后用填充柄向下填充,求出所有其他的f(xi)值。 在D 列的D3 單元格輸入公式“=B3-B2”,計算出Δx1,用填充柄向下填充得到其他的Δxi值。 由于是均分各點,所以所有的Δxi都相等。
接著根據(jù)矩形法曲邊梯形面積近似計算公式(1)~(4)計算出用來近似10 個細分的小曲邊梯形面積的小矩形面積。 每種方法的第一個小矩形面積的計算公式分別為 “=C2*D3”、“=C3*D3”、“=MIN(C2:C3)*D3”和“=MAX(C2:C3)*D3”,依次應用于單元格E3、F3、G3 和H3 即計算出它們的值,然后用填充柄向下填充求出其他小矩形面積。 在最后一行,用求和函數(shù)“=SUM(E3:E12)”、“=SUM(F3:F12)”、“=SUM(G3:G12)”和“=SUM(H3:H12)”依次求出對應列中各小矩形面積之和,即為分別用矩形法1、矩形法2、矩形法3 和矩形法4 計算出來的曲邊梯形面積的近似值。
在I 列應用梯形法曲邊梯形面積近似計算公式(5)比照矩形法相似的計算方法算出10 個小梯形面積。 方法是在I3 單元格中輸入公式“=(C2+C3)/2*D3”求出第一小梯形的面積,然后用填充柄向下填充求出其他小梯形面積。 在最后一行,用求和函數(shù)“=SUM(I3:I12)”求出I 列中各小梯形面積之和,即為用梯形法計算出來的曲邊梯形面積的近似值。
拋物線法計算在K 列進行,計算依據(jù)是公式(6)。 計算前應確定J列的ki,根據(jù)公式(6),k0=1,kn=1,其它的以4 和2 交替出現(xiàn),可以用填充柄以4、2 向下填充實現(xiàn)。 然后選擇K2,輸入公式“=J2*C2*(1-0)/3/A$12”,計算出k0·f(x0)*(b-a)/3/n,然后用填充柄向下填充至K12,求得其它各值。 再在最后一行,用公式“=SUM(K2:K12)”求出K 列中各數(shù)據(jù)之和,即為用拋物線法計算出來的曲邊梯形面積近似值。
這里先介紹梯形法和拋物線法的誤差估計方法,只考慮區(qū)間[a,b]均分的情況。
公式中涉及到f(x)的一到四階導數(shù)。 對于梯形法,必須f″(x)存在,并且能估計出界值M,誤差Rt才能正確求出。 對于拋物線法,必須f(4)(x)存在,并且能估計出界值M,誤差Rs才能正確求出。
對于上述的例子,可求得梯形法M 為2,拋物線法M 為12。 當取n=10,Rt≤(1-0)3·2/12/100=0.00167, 于是有0.744544129
用矩形法、梯形法和拋物線法求曲邊梯形面積近似值時,一般來說,n 取得越大,近似程度就越好。 在Excel 環(huán)境下,我們使用填充柄的智能作用,可以很方便地用增加n 的方法來求取更精確的結果。 對于上例,當取n=10,用梯形法和拋物線法得出的結果分別是0.74621和0.74682,如圖1 所示;當取n=100,Δx 短小到圖1 的1/10,求得結果是0.746818 和0.746824;當取n=1000,Δx 短小到圖1 的1/100,結果分別是0.74682407149 和0.746824132812436;當n=10000,Δx 短小到圖1 的1/1000,結果是0.74682413219 和0.746824132812428。此例n 由1000 增加到10000 時,用拋物線法計算有13 位小數(shù)相同,說明精度已達到了10-13;而梯形法只有6 位小數(shù)相同,前6 位小數(shù)應該是可靠的。
表1 血藥濃度數(shù)據(jù)
矩形法精度相對較差,但矩形法1 和矩形法2 的平均值或矩形法3 和矩形法4 的平均值就是梯形法的值。 當f(x)在每個小區(qū)間都是單調(diào)增加或單調(diào)減少的非負函數(shù)時, 矩形法3 產(chǎn)生的誤差永遠是負偏差,而矩形法4 產(chǎn)生的誤差永遠是正偏差。 這在那些要求計算不能產(chǎn)生負偏差或正偏差的場合用矩形法3 和矩形法4 將是合理的選擇。對于小區(qū)間非均分的梯形法求解,誤差可分段估計然后再予綜合考慮。
曲邊梯形面積計算在多個領域都有應用,這里僅舉醫(yī)藥領域生物利用度中應用的例子。
【例】一組健康受試者單劑量,空腹口服某藥溶液劑1g,服藥前采空白血作對照,2 小時后進餐,每隔一定時間采血樣,測定血中藥物濃度,結果見表1,求該藥溶液劑的AUC0-6。
圖2
分析:此題求AUC0-6就是求曲邊為血藥濃度曲線,積分下、上限為0 與6 的曲邊梯形面積,可用梯形法或拋物線法中的任意一種方法計算。 這里將兩種方法計算的過程及結果同時給出。
方法:確定n=12,在B 列和C 列輸入表1 中數(shù)據(jù),在D 列和F 列確定Δt 和k, 然后分別按梯形法和拋物線法計算出該曲邊梯形面積的近似值即是AUC0-6的近似值。計算結果詳見圖2 所示。從圖中可以看出,用梯形法算得AUC0-6=12.28,用拋物線法算得AUC0-6=12.27,比較接近。
Excel 計算曲邊梯形面積近似值概念清晰,方法簡單明了,操作容易掌握,誤差可控。 Excel 的突出優(yōu)點是可以把小區(qū)間分得很細,大量的計算由填充柄填充得到, 人們輕輕松松就可將很復雜的計算完成,突破了圖解法和計算機編程計算的局限性, 是定積近似理論與Excel智能方法的完美結合,可廣泛應用于理論分析、科學研究、工程計算和生產(chǎn)實踐中。
[1]華羅庚.高等數(shù)學引論(第一卷,第一分冊)[M].北京:科學出版社,1963:291-336.
[2]同濟大學數(shù)學教研室,主編.高等數(shù)學(上冊,第四版)[M].北京:高等教育出版社,1996:306-314.
[3]康博創(chuàng)作室.Office 2000 中文版易學易用專輯[M].北京:人民郵電出版社,1999:149-169.
[4]Excel Home.Excel 應用大全[M].北京:人民郵電出版社,2008.
[5]Excel Home.Excel 2010 應用大全[M].北京:人民郵電出版社,2011.
[6]歐陽和平,陽暉.VS 環(huán)境下假設檢驗Web 應用程序開發(fā)[J].計算機與現(xiàn)代化,2012(10):187-190,193.