999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

中心差商公式變步長算法的計算終止條件

2022-09-29 08:18:18令鋒
肇慶學院學報 2022年5期

令鋒

(肇慶學院數學與統計學院,廣東 肇慶 526061)

1 問題的提出

數值微分是指將函數y=f(x)在給定點a的導數用點a附近節點上函數值的線性組合近似表示[1-2].科學研究與工程技術領域中的許多問題都需要計算函數f(x)在給定點的導數,當f(x)表達式復雜或函數僅由表格給出時,就需要進行數值微分,中心差商公式是數值微分采用的一種重要算法.

記h為步長,f(x)在節點a-h,a及a+h處的函數值分別為f(a-h),f(a)和f(a+h),則求f(x)在點a處一階導數的中點公式及截斷誤差分別為

求函數f(x)在點a處二階導數的三點公式及截斷誤差分別為

對公式(1),從截斷誤差角度分析,h越小計算結果越準確;但從舍入誤差或計算穩定性角度考慮,h越小,f(a-h)與f(a+h)的值將越接近,兩個相近數相減會導致有效位數嚴重損失,因而用中心差商公式(1)計算一階導數時步長不宜太小或太大,存在最優步長,當h取值小于最優步長后,計算誤差反而會增大[2-4].同理,采用公式(3)計算二階導數時也存在最優步長.

中心差商公式(1)及(3)都具有二階計算精度,且公式簡單,編程方便,是數值微分值得采用的方法.但由于步長很小時計算結果對步長變化敏感,大多數教材沒有進一步討論兩點公式與三點公式的計算機實現,個別教材中雖然提出宜采用變步長方法計算,但沒有給出詳細的分析、說明和示例,尤其是沒有給出計算終止條件[5],因而編程實現算法存在困難.本文通過分析確定中心差商公式中最優步長面臨的問題,提出以計算結果滿足精度要求作為計算終止條件和以步長最接近最優步長作為計算終止條件兩種算法,以期能夠采用中心差商公式的變步長算法求得函數在給定點具有較高精度的一階及二階導數.

2 中心差商公式最優步長的確定

設f(a),f(a-h)和f(a+h)的舍入誤差分別為ε0,ε1和ε2,ε=max{|ε0|,|ε1|,|ε2|},則計算f′(a)與f′′(a)的舍入誤差分別為

根據求極值的方法,要使誤差 取最小值,h應滿足

同理可得,使誤差E2(h)達到最小值的最優步長為

求出M1與M2的工作較繁瑣,在某些情形下甚至無法實現,從而確定最優步長面臨諸多困難.為獲得具有較高精確度的計算結果,通常采用中心差商公式變步長算法.以計算一階導數為例,首先選擇一個初始步長h0,為方便計算,通常取h0=1,利用公式(1)求出G(h0),然后將步長減半得h1,再計算G(h1),如此反復,使步長在逐步減半的過程中逐步接近最優步長,從而獲得精度較高的計算結果.因而,在變步長中心差商微分法的計算機實現過程中,確定正確的計算終止條件是算法得以實現的前提.

3 中心差商公式變步長算法的計算終止條件

設對初始步長h0經n次減半后得到的步長為h0,函數y=f(x)在點a相應的導數f′(a)及f″(a)的近似值分別為G(hn)和T(hn),以下給出兩種計算終止條件.

3.1 滿足精度要求時終止計算

如果給定了計算精度要求ε,則前后兩次步長減半得到的導數近似值應滿足如下條件

此即給定精度要求時變步長數值微分法的計算終止條件.

上述算法容易編程實現且避免了直接計算最優步長,可望獲得理想的計算結果.但由于步長過小時誤差反而會更大,當要求的精度很高時,通過將步長逐步減半的方法可能無法獲得滿足精度要求的計算結果.實際計算時,為避免舍入誤差不斷增大出現較大誤差數值錯誤結果,可預設一個步長最大減半次數M,當步長減半次數超過最大減半次數時停止計算.

若以計算結果滿足精度要求作為計算終止條件,用三點公式(3)計算函數f(x)在點a的二階導數算法可描述如下:

算法1:數值微分的變步長三點公式算法

1) 輸入函數f(x)以及點a的值.

2)輸入計算精度要求ε及步長最大減半次數M.

3) 步長減半次數n=0,h=2-n=1,計算T0(f(a-h)-2f(a)+f(a+h))∕(h2).

3) 步長減半:n=1,h=2-n=1∕2,計算T1(f(a-h)-2f(a)+f(a+h))∕(h2).

4)如果 |T1-T0|>ε,轉步驟5);否則,轉步驟6).

5)如果n≤M,則n=n+1,h=2-n,T0=T1,T1(f(a-h)-2f(a)+f(a+h))∕(h2),轉步驟4);否則,輸出出錯信息,轉步驟7).

6)輸出計算結果T1.

7)結束.

3.2 步長最接近最優步長時終止計算

在步長逐步減半并接近最優步長hopt過程中,計算精度將越來越高,而步長小于hopt后,繼續對步長減半數值計算的誤差將會不斷增大.因此,經n-1次步長減半后得到的步長hn-1與最優步長hopt若滿足如下關系

相應的導數近似值則滿足如下條件

此即步長最接近最優步長時變步長數值微分法的計算終止條件,G(h)為步長為hn-1時f′(a)的近似值.

上述算法既可避免直接確定最優步長,又可獲得具有較高計算精度的計算結果,因而是一種非常實用的有效算法.

若以步長最接近最優步長作為計算終止條件,用變步長中點公式計算函數f(x)在點a的一階導數的算法可描述如下:

算法2:數值微分的變步長中點公式算法

1)輸入函數f(x),輸入點a的值.

2)步長減半次數n=0,h=2-n=1,計算G0=[f(a+h)-f(a-h)]∕(2h).

3)步長減半:n=0,h=2-n=1∕2,計算G1=[f(a+h)-f(a-h)]∕(2h).

4)n=n+1,h=2-n,計算Gn=[f(a+h)-f(a-h)]∕(2h).

5)如果 |Gn)-Gn-1|≥ |Gn-1-Gn-2|,轉步驟6);否則,轉步驟4).

6)輸出計算結果Gn-1.

7)結束.

4 說明性算例

算例1用變步長三點公式計算函數f(x)=ex在輸入的點x處的二階導數近似值,要求誤差不超過0.5×10-6及0.5×10-9,并統計步長減半次數.

解 根據算法1編寫C語言程序生成Threepoints.com文件,計算結果如下:

請輸入要計算二階導數值的點a:1

請輸入精度要求epsilon:0.0000001

點a=1.000000處的二階導數為f′′(a)=2.7182818353,步長共減半11次.

請輸入要計算二階導數值的點a:1

請輸入精度要求epsilon:0.000000001

步長減半次數已達25次,仍未達到精度要求.

算例2取初始步長h0=1,用變步長中點公式計算函數f(x)=x2e-x在點x=1.0,1.5,…,5.0處的一階導數及誤差,并統計對應的最佳步長.

解 根據算法2編寫C語言程序生成文件Midpoints.com,計算結果如下:

5 總結

本研究提出了中心差商公式變步長算法計算機實現時的兩種計算終止條件,若以計算結果滿足精度要求作為計算終止條件,可避免直接計算最優步長,方法簡單,設計程序方便,可以獲得滿足一般精度要求的計算結果.但當要求的精度很高時,此方案的計算精度可能不能令人十分滿意.若以步長最接近最優步長作為計算終止條件,既可避免直接確定最優步長,又可獲得具有較高計算精度的計算結果,因而是一種非常實用的有效算法.

主站蜘蛛池模板: 在线网站18禁| 国产三级国产精品国产普男人| 波多野结衣一二三| 亚洲一区无码在线| 高清码无在线看| 国产精品自在在线午夜| 中字无码av在线电影| 亚洲无线视频| www.av男人.com| 成年免费在线观看| 人妻中文久热无码丝袜| 午夜福利网址| 午夜福利视频一区| 欧美爱爱网| 一本大道视频精品人妻 | 亚洲a级毛片| 国产美女视频黄a视频全免费网站| 91精品网站| 久久香蕉欧美精品| 色综合综合网| 亚洲成人77777| 欧美激情福利| 国产尤物jk自慰制服喷水| 亚洲妓女综合网995久久| 亚洲精品自产拍在线观看APP| 久久久久亚洲Av片无码观看| 亚洲欧洲日本在线| 波多野结衣亚洲一区| 国产正在播放| 久久久久青草大香线综合精品| 无码专区在线观看| 五月婷婷综合在线视频| 秋霞一区二区三区| 69视频国产| 韩国自拍偷自拍亚洲精品| 无码一区18禁| 久久精品91麻豆| 精品伊人久久久久7777人| a毛片免费看| 毛片大全免费观看| 性色在线视频精品| www亚洲天堂| 精品国产免费人成在线观看| 日韩福利在线视频| 爽爽影院十八禁在线观看| 无码aaa视频| 欧美综合成人| 亚洲国产中文欧美在线人成大黄瓜| 色噜噜久久| 日本一本在线视频| 国内自拍久第一页| 国产香蕉在线视频| 国产日韩欧美一区二区三区在线| 欧美黄网站免费观看| 免费啪啪网址| 久久国产V一级毛多内射| 国产精品永久久久久| 中文字幕在线日本| 国产十八禁在线观看免费| 99热这里只有精品在线播放| 国产精品林美惠子在线播放| 亚洲中字无码AV电影在线观看| 国产精品网曝门免费视频| 久久亚洲AⅤ无码精品午夜麻豆| 欧美一级黄色影院| 国产成+人+综合+亚洲欧美 | 久久亚洲欧美综合| 国产97色在线| 99999久久久久久亚洲| 日韩在线成年视频人网站观看| 女人爽到高潮免费视频大全| 国产精品19p| 久久国产热| 久久国产免费观看| 区国产精品搜索视频| 成人久久18免费网站| 一本色道久久88综合日韩精品| 正在播放久久| 尤物亚洲最大AV无码网站| 欧美天堂久久| 极品国产在线| 无码免费的亚洲视频|