王衛(wèi)生,劉 穎,郭 亮
(1.哈爾濱工業(yè)大學(xué)城市水資源與水環(huán)境國家重點實驗室,哈爾濱150090; 2.遼寧信息職業(yè)技術(shù)學(xué)院軟件工程系遼寧遼陽111000)
隨著計算機技術(shù)的飛速發(fā)展和廣泛應(yīng)用,計算機運算速度快、存儲信息量大、并且有邏輯判斷能力等特點突顯出來,成為人們解決紛繁復(fù)雜問題的有效工具,很多實用的數(shù)學(xué)軟件也應(yīng)運而生.通過選擇近似計算的幾個典型實例,編寫相應(yīng)的程序設(shè)計內(nèi)核語句來求解實用問題是至關(guān)重要的.基于計算機編程技術(shù),本文對一些數(shù)學(xué)的近似計算進(jìn)行了研究.
在高等數(shù)學(xué)中,一提到近似計算的問題時人們自然會聯(lián)想到泰勒公式[1]:對于函數(shù)f(x)在x0的某鄰域內(nèi)n+l階可微,則在此鄰域內(nèi)有式(1)成立.
這里Rn(x)的稱為拉格朗日余項,該余項值的大小決定了函數(shù)f(x)計算的精度.通常為達(dá)到一定的精度時需要求解關(guān)于Rn(x)的不等式來確定n的范圍,從Rn(x)的不等式可以看出求解這個不等式的難度.然而在程序設(shè)計中我們只要在循環(huán)語句中對循環(huán)條件加以限制就可以輕松地達(dá)到目的.
下面以求無理數(shù)e的近似值為例,通過程序設(shè)計完成e的近似值的計算.由公式(1)很容易推導(dǎo)出ex的計算公式:
當(dāng)x=1時就是求解無理數(shù)[0,1]的公式:
求解過程中當(dāng)精度被確定時(比如誤差不超過)我們很難通過求解不等式的來確定滿足條件的n的最小值,而借助程序設(shè)計中的循環(huán)語句中的循環(huán)條件的設(shè)定將輕松地解決該問題.程序如下:
運行結(jié)果如下:
通過運行程序可以看出:把原本很復(fù)雜的求不等式來確定滿足條件的最小值n的問題轉(zhuǎn)化為“把所需精度作為循環(huán)的條件進(jìn)行設(shè)置”,省去了很多因計算帶來的煩惱.而效率卻大有提高.
在科學(xué)研究與工程技術(shù)中,常會遇到求解非線性方程f(x)=0的根的問題.我們知道對于不高4次的代數(shù)方程已有求根公式,而高于4次的代數(shù)方程則無精確的求根公式,至于一般的超越方程就更無法求其精確解了.因此,如何求得滿足一定精度要求的方程的近似根也就成為了廣大科技工作者迫切需要解決的問題.解決此類問題的方法很多包括:二分法、迭代法、牛頓切線法、弦截法[2-3]等.我們下面用較好理解的二分法來求方程y=x3-x-1在區(qū)間內(nèi)根的近似解,精確度要求:E=0.000 001.函數(shù)圖像如圖1所示
圖1 函數(shù)y=x3-x-1的圖像
原理:若函數(shù)f(x)在區(qū)間[x1,x2]兩端點的函數(shù)值異號,則在區(qū)間[x1,x2]內(nèi)方程f(x)=0至少有一個根.如果在區(qū)間[x1,x2]內(nèi)f(x)僅有一個根x,則可以取x與x的中點進(jìn)行判斷,12若f(x3)與f(x1)異號,說明有一個根在區(qū)間[x1,x3]中,否則在區(qū)間[x2,x3]中.然后按上述二分方法逐漸縮小有根區(qū)間,從而逼近方程f(x)=0的根.當(dāng)有根區(qū)間小到一定程度時,把這個區(qū)間的中點的X值當(dāng)作方程的近似根.
根據(jù)該原理編寫程序如下:
運行結(jié)果如下:
在范圍1.00E~10E-1內(nèi)變換不同的精度,列出精度與根的對應(yīng)表,如表1所示.
表1 精度與根的對應(yīng)表
本文利用SPSS分析軟件[4]對近似根(x3)和精度(E)的變化繪畫出圖像如圖2所示.
圖2 近似根和精度的關(guān)系圖
通過圖像可清晰地看到:當(dāng)精度在[0.9E-002,9.00E-002]范圍變化時(值越小精度越過),近似根以線性方式快速逼近方程的根;當(dāng)精度值在(0,0.9E-002)范圍變化時,近似根仍以線性的方式、更高的速率逼近方程的根,同時在此區(qū)間的方程的近似根和根的精確值接近程度已經(jīng)很高了.
原理:把對應(yīng)區(qū)間分成n等份,將出現(xiàn)n個等底的矩形,我們用這n個矩形的面積的和來近似地表示不規(guī)則圖形的面積.可以通過調(diào)整n的大小來體現(xiàn)近似值與真值的逼近程度.
圖3 函數(shù)f(x)在區(qū)間[0,1]上被分割后的圖像
編寫程序如下:
表格2 近似值與等份數(shù)關(guān)系表
利用SPSS分析軟件對等份數(shù)和近似根的變化繪畫出圖像,如圖4所示.
圖4 近似根與等份數(shù)的關(guān)系圖
通過觀察圖像可以得到以下結(jié)論:
1)當(dāng)0<n<700時,近似值隨著等份數(shù)的增加逐步逼近圖形的精確值(通過定積分求出).
2)當(dāng)700<n<2 200時,近似值隨著等份數(shù)的增加,近似值將圍繞精確值有較大幅度地波動.
3)當(dāng)n>2 200時,近似值將圍繞精確值有小幅度地波動,并隨等份數(shù)的增大波動幅度就越小.
運用計算機程序設(shè)計方法解決數(shù)學(xué)問題,無論在數(shù)學(xué)界還是在計算機應(yīng)用領(lǐng)域都有廣泛的發(fā)展空間,在不久的將來,許多涉及計算、圖形、文字處理的功能強大、界面友好的漢語軟件將被開發(fā)出來,許多業(yè)內(nèi)人士將從繁瑣的計算和批量的作圖中擺脫出來,極大提高生產(chǎn)效率.
[1] 朱永生,劉莉.基于泰勒公式應(yīng)用的幾個問題[J].長春:長春師范學(xué)院學(xué)報:自然科學(xué)版,2006.
[2] 譚浩強.C語言程序設(shè)計[M]北京:清華大學(xué)出版社,2008:55-60.
[3] 錢 能.C++程序設(shè)計[M].北京:清華大學(xué)出版社,2004年,55-57.
[4] 張紅兵,賈來喜,李 潞.SPSS寶典[M].北京:電子工業(yè)出版社,2007:117-119.
[5] 劉習(xí)賢,華柳斌.高等數(shù)學(xué)[M].上海:同濟大學(xué)出版社,2009:223-225.