科學計算與數(shù)學建模課件_第1頁
科學計算與數(shù)學建模課件_第2頁
科學計算與數(shù)學建模課件_第3頁
科學計算與數(shù)學建模課件_第4頁
科學計算與數(shù)學建模課件_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

科學計算與數(shù)學建模課件演示文稿第一頁,共59頁。科學計算與數(shù)學建模課件第二頁,共59頁?!?數(shù)學與科學計算

數(shù)學是科學之母,科學技術(shù)離不開數(shù)學,它通過建立數(shù)學模型與數(shù)學產(chǎn)生緊密聯(lián)系。數(shù)學又以各種形式應用于科學技術(shù)各領(lǐng)域。數(shù)學擅長于處理各種復雜的依賴關(guān)系,精細刻畫量的變化以及可能性的評估。它可以幫助人們探討原因、量化過程、控制風險、優(yōu)化管理、合理預測。

隨著計算機技術(shù)的飛速發(fā)展,科學計算在工程技術(shù)中發(fā)揮著愈來愈大的作用,已成為繼科學實驗和理論研究之后科學研究的第三種方法。了解或掌握科學計算的基本方法、數(shù)學建模的過程和基本方法已成為科技人才必需的技能。因此,科學計算與數(shù)學建模的基本知識和方法是當代大學生,尤其是理工科大學生必備的數(shù)學素質(zhì)。

科學計算是指利用計算機來完成科學研究和工程技術(shù)中提出的數(shù)學問題的計算,是一種使用計算機解釋和預測實驗中難以驗證的、復雜現(xiàn)象的方法??茖W計算是伴隨著電子計算機的出現(xiàn)而迅速發(fā)展并獲得廣泛應用的新興交叉學科,是數(shù)學及計算機應用于高科技領(lǐng)域的必不可少的紐帶和工具。

第三頁,共59頁?!?數(shù)學建模過程及其重要意義1.2.1數(shù)學建模過程實踐理論實踐演繹法數(shù)值法解析解數(shù)值解求解方法現(xiàn)實世界現(xiàn)實問題的信息驗證表述解釋數(shù)學模型數(shù)學模型的解答數(shù)學世界

?求解現(xiàn)實問題的解答第四頁,共59頁。1.2.2數(shù)學建模的一般步驟

模型應用模型檢驗模型分析模型求解模型假設(shè)模型構(gòu)成模型準備在合理與簡化之間作出折中作出合理的、簡化的假設(shè)針對問題特點和建模目的模型假設(shè)形成一個比較清晰的數(shù)學問題掌握對象特征搜集有關(guān)信息明確建模目的了解實際背景模型準備第五頁,共59頁。確保模型的合理性、適用性實際問題模型應用模型檢驗模型分析模型求解模型構(gòu)成與實際現(xiàn)象、數(shù)據(jù)比較如:結(jié)果的誤差分析、統(tǒng)計分析、模型對數(shù)據(jù)的穩(wěn)定性分析各種數(shù)學方法、軟件和計算機技術(shù)盡量使用簡單的數(shù)學工具用數(shù)學的語言、符號描述問題第六頁,共59頁。1.2.3數(shù)學建模意義在一般工程技術(shù)領(lǐng)域,數(shù)學建模仍然大有用武之地

在高新技術(shù)領(lǐng)域,數(shù)學建模幾乎是必不可少的工具數(shù)學迅速進入一些新領(lǐng)域,為數(shù)學建模開拓了許多新的處女地

美國科學院一位院士總結(jié)了將數(shù)學轉(zhuǎn)化為生產(chǎn)力過程中的成功和失敗,得出了“數(shù)學是一種關(guān)鍵的、普遍的、可以應用的技術(shù)”的結(jié)論,認為數(shù)學“由研究到工業(yè)領(lǐng)域的技術(shù)轉(zhuǎn)化,對加強經(jīng)濟競爭力是有重要意義”,而“計算和建模重新成為中心課題,它們是數(shù)學科學技術(shù)轉(zhuǎn)化的主要途徑”。

作為用數(shù)學方法解決實際問題的第一步,數(shù)學建模自然有著與數(shù)學同樣悠久的歷史。進入20世紀以來,隨著數(shù)學以空前的廣度和深度向一切領(lǐng)域的滲透,以及計算機的出現(xiàn)與飛速發(fā)展,數(shù)學建模越來越受到人們的重視,數(shù)學建模在現(xiàn)實世界中有著重要意義。第七頁,共59頁。所謂數(shù)值計算方法,是指將所欲求解的數(shù)學模型(數(shù)學問題)簡化成一系列算術(shù)運算和邏輯運算,以便在計算機上求出問題的數(shù)值解,并對算法的收斂性、穩(wěn)定性及其誤差進行分析、計算。什么叫做誤差?誤差的種類有哪些呢?

數(shù)值計算方法注意:這里所說的“算法”,不只是單純得數(shù)學公式,而且是指由基本的運算和運算順序的規(guī)定所組成的整個解題的方案和步驟。第八頁,共59頁。

§3數(shù)值方法與誤差分析

數(shù)值方法已成為科學研究的第三種基本手段。所謂數(shù)值方法,是指將所欲求解的數(shù)學模型(數(shù)學問題)簡化成一系列算術(shù)運算和邏輯運算,以便在計算機上求出問題的數(shù)值解,并對算法的收斂性和誤差進行分析、計算。這里所說的“算法”,不只是單純的數(shù)學公式,而且是指由基本的運算和運算順序的規(guī)定所組成的整個解題方案和步驟。一般可以通過框圖(流程圖)來較直觀地描述算法的全貌。

選定適合的算法是整個數(shù)值計算中非常重要的一環(huán)。例如,當計算多項式的值時,再逐項相加,共需做次乘法和次加法。

若直接計算第九頁,共59頁。

時需做55次乘法和10次加法。來計算時,只要做n次乘法和次加法即可。

數(shù)值計算過程中會出現(xiàn)各種誤差,它們可分為兩大類:

對于小型問題,計算的速度和占用計算機內(nèi)存的多少似乎意義不大。但對于復雜的大型問題而言,卻是起著決定性作用。算法取得不恰當,不僅影響到計算的速度和效率,還會由于計算機計算的近似性和誤差的傳播、積累直接影響到計算結(jié)果的精度甚至直接影響到計算的成敗。不合適的算法會導致計算誤差達到不能容許的地步,而使計算最終失敗,這就是算法的數(shù)值穩(wěn)定性問題。

若用著名秦九韶(我國宋朝數(shù)學家)算法,將多項式改成第十頁,共59頁。“過失誤差”或“疏忽誤差”:算題者在工作中的粗心大意而產(chǎn)生的,例如筆誤以及誤用公式等。它完全是人為造成的,只要工作中仔細、謹慎,是完全可以避免的數(shù)值計算誤差

“非過失誤差”:在數(shù)值計算中這往往是無法避免的,例如近似值帶來的誤差,模型誤差、觀測誤差、截斷誤差和舍入誤差等。對于“非過失誤差”,應該設(shè)法盡量降低其數(shù)值,尤其要控制住經(jīng)多次運算后誤差的積累,以確保計算結(jié)果的精度。

第十一頁,共59頁。

下面是一個簡單的例算,可以看出近似值帶來的誤差和算法的選擇對計算結(jié)果的精度所產(chǎn)生的巨大影響。例1.3.1要計算可用四種算式算出:如果分別用近似值和按上列四種算法計算

值,其結(jié)果如下表1.3.1所示。第十二頁,共59頁。序號算式

計算結(jié)果12134

表1.3.1第十三頁,共59頁。

由表1.3.1可見,按不同算式和近似值計算出的結(jié)果各不相同,有的甚至出現(xiàn)了負值,這真是差之毫厘,謬以千里??梢娊浦岛退惴ǖ倪x定對計算結(jié)果的精確度影響很大。因此,在研究算法的同時,還必須正確掌握誤差的基本概念,誤差在近似值運算中的傳播規(guī)律,誤差分析、估計的基本方法和算法的數(shù)值穩(wěn)定性概念,否則,一個合理的算法也可能會得出一個錯誤的結(jié)果。

衡量一個算法的好壞時,計算時間的多少是非常重要的一個標志。由于實際的執(zhí)行時間依賴于計算機的性能,因此所謂算法所花時間是用它執(zhí)行的所有基本運算,如算術(shù)運算、比較運算等的總次數(shù)來衡量的。這樣時間與運算的次數(shù)直接聯(lián)系起來了。當然,即使用一個算法計算同一類型的問題時,由于各問題的數(shù)據(jù)不同,計算快慢也會不同,一般是用最壞情況下所花的時間來作討論。

第十四頁,共59頁。

設(shè)輸入數(shù)據(jù)的規(guī)模(size)是(在網(wǎng)絡問題中,一般與節(jié)點數(shù)及弧數(shù)有關(guān),而對一般極值問題,往往與變量數(shù)及約束數(shù)有關(guān)),設(shè)在最壞情況下運算次數(shù)是,則稱為算法的計算復雜性。具有什么樣的計算復雜性的算法被認為是好的呢?目前計算機科學中廣為接受的觀點是:多項式時間算法,即是關(guān)于的一個多項式,或者以一個多項式為上界的。例如,,等是好的算法;而指數(shù)時間算法,即是關(guān)于的指數(shù)式,或以一個指數(shù)式為下界的,例如,等情況,則是壞的。這個看法的依據(jù)是很明白的,因為當增大時,指數(shù)函數(shù)比多項式函數(shù)增長快。

注意:

在理論上證明是好的算法不一定在實際中有效,在理論上證明不是多項式時間的算法也不一定就在實際上中效果不好。如關(guān)于線性規(guī)劃問題的算法有如下的特殊性:

(1)單純形法是時間復雜性為指數(shù)階的,但卻是非常有效的算法;(2)橢球法從理論上是一個重大突破,是第一個多項式算法,遺憾的是廣泛的實際檢驗表明其計算效果比單純形方法差,因而,它在實際使用中不能取代單純形法。第十五頁,共59頁?!?誤差的種類及其來源

非過失誤差

數(shù)值計算中,除了可以避免的過失誤差外,還有不少來源不同而又無法避免的非過失誤差存在于數(shù)值計算過程中,主要有如下幾種截斷誤差觀測誤差

模型誤差

舍入誤差第十六頁,共59頁。1.4.1模型誤差

1.4.2觀測誤差在建模和具體運算過程中所用到的一些初始數(shù)據(jù)往往都是通過人們實際觀察、測量得來的,由于受到所用觀測儀器、設(shè)備精度的限制,這些測得的數(shù)據(jù)都只能是近似的,即存在著誤差,這種誤差稱為“觀測誤差”或“初值誤差”。1.4.3截斷誤差在不少數(shù)值運算中常遇到超越計算,如微分、積分和無窮級數(shù)求和等,它們須用極限或無窮過程來求得。然而計算機卻只能完成有限次算術(shù)運算和邏輯運算,因此需將解題過程化為一系列有限的算術(shù)運

在建模(建立數(shù)學模型)過程中,欲將復雜的物理現(xiàn)象抽象、歸納為數(shù)學模型,往往只得忽略一些次要因素的影響,而對問題作某些必要的簡化。這樣建立起來的數(shù)學模型實際上必定只是所研究的復雜客觀現(xiàn)象的一種近似的描述,它與真正客觀存在的實際問題之間有一定的差別,這種誤差稱為“模型誤差”。

第十七頁,共59頁。

算和邏輯運算。這樣就要對某種無窮過程進行“截斷”,即僅保無窮過程的前段有限序列而舍棄它的后段。這就帶來了誤差,稱它為“截斷誤差”或“方法誤差”。例如,函數(shù)和可分別展開為如下的無窮冪級數(shù):

(1.4.1)(1.4.2)若取級數(shù)的起始若干項的部分和作為函數(shù)值的近似,例如取

(1.4.3)第十八頁,共59頁。

則由于它們的第四項和以后各項都舍棄了,自然產(chǎn)生了誤差。這就是由于截斷了無窮級數(shù)自第四項起的后段的產(chǎn)生的截斷誤差。(1.4.3)和(1.4.4)的截斷誤差是很容易估算的,因為冪級數(shù)(1.4.1)和(1.4.2)

都是交錯級數(shù),當時的各項的絕對值又都是遞減的,因此,這時它們的截斷誤差可分別估計為:(1.4.4)1.4.4舍入誤差在數(shù)值計算過程中還會用到一些無窮小數(shù),例如無理數(shù)和有理數(shù)中某些分數(shù)化出的無限循環(huán)小數(shù),如和第十九頁,共59頁。

由于受計算機機器字長的限制,它所能表示的數(shù)據(jù)只能有有限位數(shù),這時就需把數(shù)據(jù)按四舍五入舍入成一定位數(shù)的近似的有理數(shù)來代替。由此引起的誤差稱為“舍入誤差”或“湊整誤差”。

綜上所述,數(shù)值計算中除了可以完全避免的過失誤差外,還存在難以避免的模型誤差、觀測誤差、截斷誤差和舍入誤差。數(shù)學模型一旦建立,進入具體計算時所要考慮和分析的就是截斷誤差和舍入誤差了。在計算機上經(jīng)過千百次運算后所積累起來的總誤差不容忽視,有時可能會大得驚人,甚至到達“淹沒”所欲求解的真值的地步,而使計算結(jié)果失去根本的意義。因此,在討論算法時,有必要對其截斷誤差的估算和舍入誤差的控制作適當?shù)姆治?。第二十頁,?9頁。§5絕對誤差和相對誤差1.5.1絕對誤差和絕對誤差限定義1.5.1

設(shè)某一個準確值(稱為真值)為,則與的差

(1.5.1)稱為近似值的“絕對誤差”,簡稱“誤差”。當時,稱為虧近似值或弱近似值,反之則稱為盈近似值或強近似值。

由于真值往往是未知或無法知道的,因此,就無法求出。但一般可估計此絕對誤差的上限,也即可以求出一個正值,使的準確值(真值)也

(1.5.2)此稱為近似值的“絕對誤差限”,簡稱“誤差限”,或稱“精度”。有時也用

來表示(1.5.2)式,這時等式右端的兩個數(shù)值和代表了在范圍的上、下限。越小,表示該近似值的精度越高。,其近似值為(1.5.3)所第二十一頁,共59頁。例1.5.1用有毫米刻度的尺測量不超過一米的長度。讀數(shù)方法如下:

如長度接近于毫米刻度,就讀出該刻度數(shù)作為長度的近似值。顯然,這個近似值的絕對誤差限就是半個毫米,則有如果讀出的長度是513毫米,則有這樣,雖仍不知準確長度是多少,但由(1.5.3)式可得到不等式:這說明必在毫米區(qū)間內(nèi)。第二十二頁,共59頁。1.5.2相對誤差和相對誤差限

用絕對誤差還不能完全評價近似值的精確度。例如測量10米的長度時產(chǎn)生1厘米的誤差與測量1米的長度時產(chǎn)生1厘米的誤差是大有區(qū)別的。雖然兩者的絕對誤差相同,都是1厘米,但是由于所測量的長度要差十倍,顯然前一種測量比后一種要精確得多。這說明要評價一個近似值的精確度,除了要看其絕對誤差的大小外,還必須考慮該量本身的大小,這就需要引進相對誤差的概念。

(1.5.4)稱為近似值的“相對誤差”。在上例中,前一種測量的誤差為,而后一種測量的相對誤差則為,是前一種的十倍。定義1.5.2絕對誤差與真值之比,即第二十三頁,共59頁。

由(1.5.4)可見,相對誤差可以從絕對誤差求出。反之,絕對誤差也可由相對誤差求出,其相互關(guān)系式為:

(1.5.5)

相對誤差不僅能表示出絕對誤差來,而且在估計近似值運算結(jié)果的誤差時,它比絕對誤差更能反映出誤差的特性。因此在誤差分析中,相對誤差比絕對誤差更為重要。相對誤差也無法準確求出。因為(1.5.4)中的和均無法準確求得。

也和絕對誤差一樣,可以估計它的大小范圍,即可以找到一個正數(shù),使

(1.5.6)

稱為近似值的“相對誤差限”。相對誤差是個純數(shù)字,它沒有量綱。第二十四頁,共59頁。

例1.5.2稱100千克重的東西若有1千克重的誤差和量100米長的東西有1米長的誤差,這兩種測量的相對誤差都是。與此相反,由于絕對誤差是名詞,有量綱,上例中兩種測量的絕對誤差1千克和1米的量綱不同,兩者就無法進行比較。在實際計算中,由于真值總是無法知道的,因此往往取

(1.5.7)

作為相對誤差的另一定義。下面比較與之間的相差究竟有多大:第二十五頁,共59頁。

一般地,很小,不會超過。這樣不大于2,因此,上式右端是一高階小量,可以忽略。上式右端是一高階小量,可以忽略,故用來代替。相對誤差也可用百分數(shù)來表示:這時稱它為百分誤差。

第二十六頁,共59頁?!?有效數(shù)字及其誤差的關(guān)系

1.6.1有效數(shù)字

在表示一個近似值的準確程度時,常用到“有效數(shù)字”的概念。例1.6.1,若按四舍五入取四位小數(shù),則得的近似值為3.1416;若取五位小數(shù)則得其近似值為3.14159。這種近似值取法的特點是誤差限為其末位的半個單位,即定義1.6.1

當近似值,其近似值的規(guī)格化形式:的誤差限是其某一位上的半個單位時,稱其“準確”到這一位且從該位起直到前面第一位非零數(shù)字為此的所有數(shù)字都稱為有效數(shù)字。一般說,設(shè)有一個數(shù)

(1.6.1)

第二十七頁,共59頁。式中都是中的一個數(shù)字,是正整數(shù),是整數(shù)。若的誤差限為:

(1.6.2)則稱為具有n位有效數(shù)字的有效數(shù),或稱它精確到一位數(shù)字都是的有效數(shù)字。

若(1.6.1)中的是經(jīng)四舍五入得到的近似數(shù),則具有位有效數(shù)字。例1.6.2

是的具有五位有效數(shù)字的近似值,精確到0.0001。例1.6.3

和都是具有三位有效數(shù)字的有效數(shù)。但要注意,和

就不同了,前者僅具有三位有效數(shù)字,即僅精確。其中每第二十八頁,共59頁。

到0.0001;而后者則具有五位有效數(shù)字,即精確到0.000001。可見,兩者的精確程度大不相同,后者遠較前者精確(差100倍)。因此,有另一種情況,例如,這時的誤差為值超過0.0005(第三位小數(shù)的半個單位),但卻沒有超過0.005(第二位小數(shù)的半個單位),即注

用計算機進行的數(shù)值計算,由于受到計算機字長的限制,要求輸入的數(shù)有一定的位數(shù),計算的結(jié)果也只保留一定的位數(shù),且所保留下來的不一定都是有效數(shù)字,同時也不是所有的有效數(shù)字都可保留下來。,其絕對顯然,雖然有三位小數(shù)但卻只精確到第二位小數(shù),因此,它只具有二位有效數(shù)字。其中1和5都是準確數(shù)字,而第三位數(shù)字4就不再是準確數(shù)字了,我們就稱它為存疑數(shù)字。第二十九頁,共59頁。1.6.2有效數(shù)字與誤差的關(guān)系

由(1.6.2)可知,從有效數(shù)字可以算出近似數(shù)的絕對誤差限;有效數(shù)字的位數(shù)越多,其絕對誤差限也就越小,且還可以從有效數(shù)字求出其相對誤差限。當用(1.6.1)表示的近似值,具有位有效數(shù)字時,顯然有故由(1.6.2)可知,其相對誤差

(1.6.3)故相對誤差限為

(1.6.4)

第三十頁,共59頁。

由(1.6.4)可見,有效數(shù)字的位數(shù)反映了近似值的相對精確度。上述關(guān)系的逆也是成立的,即當用(1.6.1)表示的近似值,如果其相對誤差能滿足

(1.6.5)則至少具有位有效數(shù)字。這是因為:由(1.6.5)及有即至少具有位有效數(shù)字。第三十一頁,共59頁。例1.6.4當用3.1416來表示的近似值時,它的相對誤差是多少?

3.1416具有五位有效數(shù)字,,由(1.6.3)有例1.6.5

為了使積分的近似值的相對誤差不超過0.1%,問至少要取幾位有效數(shù)字?解

可以知道I=0.7476…,這樣,由(1.6.3)有可解出,即只要取三位有效數(shù)字就能保證的相對誤差不大于0.1%。第三十二頁,共59頁?!?誤差的傳播與估計1.7.1誤差估計的一般公式

在實際的數(shù)值計算中,參與運算的數(shù)據(jù)往往都是些近似值,帶有誤差,這些數(shù)據(jù)誤差在多次運算過程中會進行傳播,使計算結(jié)果產(chǎn)生誤差,而確定計算結(jié)果所能達到的精度顯然是十分重要的,但往往很困難。不過,對計算誤差作出一定的定量估計還是可以做到的。下面利用函數(shù)泰勒(Taylor)展開式推出誤差估計的一般公式??紤]二元函數(shù),設(shè)和分別是和的近似值,是函數(shù)值的近似值,且,函數(shù)在點處的泰勒展開式為:第三十三頁,共59頁。略高階小量,則上式可簡化為式中,和一般都是小量值,如忽

(1.7.1)的絕對誤差增長因子,它們分別表示絕對誤差和經(jīng)過傳播因此,的絕對誤差為式中,和前面的系數(shù)和分別是和對由(1.7.1)可得出的相對誤差:后增大或縮小的倍數(shù)。第三十四頁,共59頁。

(1.7.2)

式中,和前面的系數(shù)和分別是經(jīng)過傳播后增大或縮小的倍數(shù)。和對的相對誤差增長因子,它們分別表示相對誤差和例1.7.1

用電表測得一個電阻兩端的電壓和流過的電流范圍分別為

(伏特)和(安培),求這個電阻的阻值其絕對誤差和相對誤差。,并估算第三十五頁,共59頁。由(1.7.1)可計算的絕對誤差:將它們帶入上式,即可估算出的絕對誤差:;,令,解

由歐姆定律,有第三十六頁,共59頁。

(1.7.1)和(1.7.2)可推廣到更為一般的多元函數(shù)中,只要將函數(shù)在點處作泰勒展開,等小量的高階項,即可得到函數(shù)的近似值的絕對誤差和相對誤差的估算式分別為:并略去其中的

(1.7.3)和

(1.7.4)

對的絕對誤差和相對誤差的增長因子。上兩式中的各項和分別為各個

從(1.7.3)和(1.7.4)可知,誤差增長因子的絕對值很大時,數(shù)據(jù)誤差在運算中傳播后,可能會造成結(jié)果的很大誤差。凡原始數(shù)據(jù)的微小變化可能引起結(jié)果的很大變化的這類問題,稱為病態(tài)問題或壞條件問題。第三十七頁,共59頁。

可以利用(1.7.3)和(1.7.4)對算術(shù)運算中數(shù)據(jù)誤差傳播規(guī)律作一具體分析。

(1.7.5)

(1.7.6)1.7.2誤差在算術(shù)運算中的傳播

由(1.7.3)和(1.7.4)有(1)加,減運算及

由(1.7.5)可知:近似值之和的絕對誤差等于各近似值絕對誤差的代數(shù)和。兩數(shù)和相減,由(1.7.6)有第三十八頁,共59頁。

,即大小接近的兩個同號近似值相減時,由上式可知,這時可能會很大,說明計算結(jié)果的有效數(shù)字將嚴重丟失,計算精度很低。因此在實際計算中,應盡量設(shè)法避開相近數(shù)的相減。當實在無法避免時,可用變換計算公式的辦法來解決。即第三十九頁,共59頁。

例1.7.3當很小時,,如要求的值,可利用三角恒等式

進行公式變換后再來計算。同理,也可把展開成泰勒級數(shù)后,按來進行計算。這兩種算法都避開了兩個相近數(shù)相減的不利情況。

例1.7.2

當要計算,結(jié)果精確到第五位數(shù)字時,至少取到和,這樣才能達到具有五位有效數(shù)字的要求。如果變換算式:

也能達到結(jié)果具有五位有效數(shù)字的要求,而這時和所需的有效位數(shù)只要五位,遠比直接相減所需有效位數(shù)(八位)要少。

第四十頁,共59頁。(2)乘法運算

由(1.7.3)及(1.7.4)有

因此,近似值之積的相對誤差等于相乘各因子的相對誤差的代數(shù)和。當乘數(shù)的絕對值很大時,乘積的絕對值誤差可能會很大,因此也應設(shè)法避免。

(1.7.7)和

(1.7.8)第四十一頁,共59頁。(3)除法運算由(1.7.3)及(1.7.4)有由(1.7.10)可知,兩近似值之商的相對誤差等于被除數(shù)的相對誤差與除數(shù)的相對誤差之差。又由(1.7.9)可知,當除數(shù)的絕對值很小,接近于零時,商的絕對誤差可能會很大,甚至造成計算機的“溢出”錯誤故應設(shè)法避免讓絕對值太小的數(shù)作為除數(shù)。

(1.7.9)和

(1.7.10)第四十二頁,共59頁。

(4)乘方及開方運算

由(1.7.3)及(1.7.4)有由(1.7.12)可知,乘方運算將使結(jié)果的相對誤差增大為原值的(乘方的方次數(shù))倍,降低了精度;開方運算則使結(jié)果的相對誤差縮小為原值的(為開方的方次數(shù)),精度得到提高。綜上分析可知,大小相近的同號數(shù)相減,乘數(shù)的絕對值很大,以及除數(shù)接近于零等,在數(shù)值計算中都應設(shè)法避免。

(1.7.11)及

(1.7.12)第四十三頁,共59頁。1.7.3對1.3.1中算例的誤差分析序號近似值

真值

絕對誤差

相對誤差

10.01420.0355=3.55%

0.0009556×0.0355=21.3%

234

應用上述誤差估計的公式,可對1.3.1中提出的算例中的各種算式作出誤差估計和分析,從而可以比較出它們的優(yōu)劣來。見結(jié)果下表1.7.1。表1.7.1第四十四頁,共59頁?!?算法的相對穩(wěn)定性

通過前面對誤差傳播規(guī)律的分析和對1.3算例的剖析,可知同一問題當選用不同的算法時,它們所得到的結(jié)果有時會相差很大,這是因為運算的舍入誤差在運算過程中的傳播常隨算法而異。凡一種算法的計算結(jié)果受舍入誤差的影響小者稱它為數(shù)值穩(wěn)定的算法。下面再通過其他一些例子來進一步說明算法穩(wěn)定性的概念。

例1.8.1解方程(1.8.1)解由韋達定理可知,此精確解為如果利用求根公式

(1.8.2)

第四十五頁,共59頁。

來編制計算機程序,在字長為8基底為10的計算機上進行運算,則由于計算機實際上采用的是規(guī)格化浮點數(shù)的運算,這時的第二項最后兩位數(shù)“01”,由于計算機字長的限制,在機器上表示不出來,故在計算機對階舍入運算(用標記)時

第四十六頁,共59頁。

這樣算出的根顯然是嚴重失真的(精確解),這說明直接利用(1.8.2)求解方程(1.8.1)是不穩(wěn)定的。其原因是在于當計算機進行加減運算時要對階舍入計算,實際上受到機器字長的限制,在計算時,絕對值小的數(shù)(1)被絕對值大的數(shù)()“淹沒”了,在計算時,被“淹沒”了;這些相對小的數(shù)被“淹沒”后就無法發(fā)揮其應有的影響,由此帶來誤差,造成計算結(jié)果的嚴重失真。同樣道理,當多個數(shù)在計算機中相加時,最好從其中絕對值最小的數(shù)到絕對值最大的數(shù)依次相加,可使和的誤差減小。這時,如要提高計算的數(shù)值穩(wěn)定性,必須改進算法。在此例中,由于算出的根是可靠的,故可利用根與系數(shù)的關(guān)系式來計算,有所得結(jié)果很好。這說明第二種算法有較好的數(shù)值穩(wěn)定性(注意在利用根與系數(shù)關(guān)系式求第二個根時,必須先算出絕對值較大的一個根,然后再求另一個根,才能得到精度較高的結(jié)果)。

第四十七頁,共59頁。例1.8.2

試計算積分解由分部積分可得因此有遞推公式

用上面的遞推公式,在字長為6,基底為10的計算機上,從出發(fā)計算前幾個積分值,其結(jié)果如表1.8.1。第四十八頁,共59頁。

表1.8.110.36787920.26424230.20727440.17090450.14548060.12712070.11016080.1187209-0.068480表1.8.1第四十九頁,共59頁。

被積函數(shù)在積分限區(qū)間內(nèi)都是正值,積分值取三位有效數(shù)字的精確結(jié)果為0.0916,但上表中=-0.068480卻是負值,與0.0916相差很大。怎么會出現(xiàn)這種現(xiàn)象?可分析如下。由于在計算時有舍入誤差約為且考慮以后的計算都不再另有舍入誤差。此對后面各項計算的影響為第五十頁,共59頁。

這樣,算到時產(chǎn)生的誤差為這就是一個不小的數(shù)值了??梢愿倪M算法來提高此例的數(shù)值穩(wěn)定性,即將遞推公式改寫為從后向前遞推計算時,的誤差下降為原來的,因此只要取得足夠大,誤差逐次下降,其影響就會越來越小。由可知:當時。因此可取作為初始值進行遞推計算。由于,故的誤差約為。在計算時誤差下降到,計算時誤差已下降到,結(jié)果如表1.8.2。第五十一頁,共59頁。200.0000000190.0500000180.0500000170.0527778160.0557190150.0669477140.0627322130.0669477120.0717733110.0773523100.083877190.0916123表1.8.2第五十二頁,共59頁。

這樣得到的=0.0916123已經(jīng)很精確了??梢娊?jīng)過改進后的新算法具有很好的穩(wěn)定性。例1.8.3對于小的值,計算。

解如果用直接進行計算,其穩(wěn)定性是很差的,因為兩個相近數(shù)相減會嚴重丟失有效數(shù)字,產(chǎn)生很大的誤差。因此得采用合適的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論