版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Tel: 86613747E-mail: lss@zjtcm.net授課: 68學(xué)分:4,在數(shù)學(xué)發(fā)展中,理論和計(jì)算是緊密聯(lián)系的?,F(xiàn)代計(jì)算機(jī)的出現(xiàn)為大規(guī)模的數(shù)值計(jì)算創(chuàng)造了條件,集中而系統(tǒng)的研究適用于計(jì)算機(jī)的數(shù)值方法變得十分迫切和必要。數(shù)值計(jì)算方法正是在大量的數(shù)值計(jì)算實(shí)踐和理論分析工作的基礎(chǔ)上發(fā)展起來的,它不僅僅是一些數(shù)值方法的簡(jiǎn)單積累,而且揭示了包含在多種多樣的數(shù)值方法之間的相同的結(jié)構(gòu)和統(tǒng)一的原理。數(shù)值算法是進(jìn)行科學(xué)計(jì)算必不可
2、缺少的起碼常識(shí);更為重要的是通過對(duì)它們的討論,能夠使人們掌握設(shè)計(jì)數(shù)值算法的基本方法和一般原理,為在計(jì)算機(jī)上解決科學(xué)計(jì)算問題打下基礎(chǔ)。因此,計(jì)算方法已經(jīng)成為工科大學(xué)生必修課程。,為什么要開設(shè)這個(gè)課呢?,1. 認(rèn)識(shí)建立算法和對(duì)每個(gè)算法進(jìn)行理論分析是基本 任務(wù),主動(dòng)適應(yīng)“公式多”的特點(diǎn);2. 注重各章建立算法的問題的提法,搞清問題的基 本提法,逐步深入;3. 理解每個(gè)算法建立的數(shù)學(xué)背景,數(shù)學(xué)原理和基本 線索,對(duì)最基本的算
3、法要非常熟悉;4. 認(rèn)真進(jìn)行數(shù)值計(jì)算的訓(xùn)練,學(xué)習(xí)各章算法完全是 為用于實(shí)際計(jì)算,必須真會(huì)算。,如何進(jìn)行學(xué)習(xí)?,科學(xué)素質(zhì):拓寬對(duì)21世紀(jì)科學(xué)的了解; 加深對(duì)數(shù)學(xué)思想的理解; 培養(yǎng)用數(shù)學(xué)思考世界的習(xí)慣數(shù)學(xué)能力:數(shù)學(xué)知識(shí)的運(yùn)用能力; 對(duì)專業(yè)中問題建立數(shù)學(xué)求解方法與
4、 實(shí)際計(jì)算能力 應(yīng)用問題中數(shù)學(xué)創(chuàng)造性能力計(jì)算知識(shí):常用算法的數(shù)學(xué)理論; 在“誤差、存貯、速度”之下的實(shí) 際計(jì)算方法; 對(duì)結(jié)果的數(shù)值分析方法,,,,? 記好課堂筆記,? 保證課堂紀(jì)律,? 按時(shí)
5、完成作業(yè),? 按時(shí)上課,不遲到早退,幾點(diǎn)要求,數(shù)值分析講述的基本內(nèi)容如何把數(shù)學(xué)模型歸結(jié)為數(shù)值問題如何制定快速的算法如何估計(jì)一個(gè)給定算法的精度分析誤差在計(jì)算過程中的積累和傳播如何構(gòu)造精度更高的算法如何使算法較少的占用存儲(chǔ)量如何分析算法的優(yōu)缺點(diǎn),,本課程的基本要求掌握數(shù)值方法的基本原理掌握常用的科學(xué)與工程計(jì)算的基本方法能用所學(xué)方法在計(jì)算機(jī)上算出正確結(jié)果,本章內(nèi)容§1 引言§2 誤差的來源及分類
6、 §3 誤差的度量 §4 誤差的傳播 §5 減少運(yùn)算誤差的原則,第一章計(jì)算方法與誤差,,小結(jié),要求掌握的內(nèi)容,,第一章計(jì)算方法與誤差,,概念 包括有效數(shù)字、絕對(duì)誤差、絕對(duì)誤差限、相對(duì)誤差、相對(duì)誤差限等誤差截?cái)嗾`差、舍入誤差的詳細(xì)內(nèi)容,誤差種類等分析運(yùn)算誤差的方法和減少運(yùn)算誤差的若干原則,1.1 引言 數(shù)值分析又稱計(jì)算方法, 它是研究各種數(shù)學(xué)問題的數(shù)值解法及其理
7、論的一門學(xué)科。,數(shù)值分析的任務(wù),,,,,,,實(shí)際問題,數(shù)學(xué)模型,數(shù)值計(jì)算方法,程序設(shè)計(jì),上機(jī)計(jì)算,數(shù)值結(jié)果,,,,,,根據(jù)數(shù)學(xué)模型提出求解的數(shù)值計(jì)算方法直到編出程序上機(jī)算出結(jié)果,這一過程邊是數(shù)值分析研究的對(duì)象,1. 對(duì)于要解決的問題建立數(shù)學(xué)模型2. 研究用于求解該數(shù)學(xué)問題近似解的算法和過程3. 按照2進(jìn)行計(jì)算,得到計(jì)算結(jié)果,,,數(shù)值方法解題的一般過程,數(shù)值計(jì)算以及計(jì)算機(jī)模擬(包括當(dāng)前流行的虛擬現(xiàn)實(shí)的方法),已經(jīng)是在工程技術(shù)研究和經(jīng)濟(jì)
8、、社會(huì)科學(xué)中廣泛應(yīng)用的方法,帶來巨大的經(jīng)濟(jì)效益天氣預(yù)報(bào)與億次計(jì)算機(jī)波音777的無紙?jiān)O(shè)計(jì)與有限元CT、核磁共振計(jì)算流體力學(xué)與爆炸工程能源問題與大型計(jì)算,第一章計(jì)算方法與誤差,計(jì)算作為工程技術(shù)研究方法,計(jì)算方法課程主要討論如何構(gòu)造求數(shù)學(xué)模型近似解的算法,討論算法的數(shù)學(xué)原理、誤差和復(fù)雜性,配合程序設(shè)計(jì)進(jìn)行計(jì)算試驗(yàn)并分析試驗(yàn)結(jié)果。與純數(shù)學(xué)的理論方法不同,用數(shù)值計(jì)算方法所求出的結(jié)果一般不是解的精確值或者準(zhǔn)確的解析表達(dá)式,而是所求真解的
9、某些近似值或近似曲線。,第一章計(jì)算方法與誤差,,,,例如方程 x2=2sinx,在區(qū)間(1,2)內(nèi)有唯一根, 但找不出求根的解析式, 只能用數(shù)值計(jì)算方法求其近似解。有些數(shù)學(xué)問題雖有理論上的準(zhǔn)確的公式解, 但不一定實(shí)用, 例如行列式解法的Cramer法則原則上可用來求解線性方程組,用這種方法解一個(gè)n元方程組,要算n+1個(gè)階行列式的值,總共需要n!(n-1)(n+1)次乘法,當(dāng)n=20時(shí),其乘除法運(yùn)算次數(shù)約需1021次方,即使用每秒千億次
10、的計(jì)算機(jī)也得需要上百年,而用高斯(Guass)消去法約需2660次乘除法運(yùn)算,并且愈大,相差就愈大??梢娧芯亢瓦x擇好的算法是非常重要的。,,算法(數(shù)值算法):是指有步驟地完成解數(shù)值問 題的過程。數(shù)值算法的特點(diǎn) ? 目的性,條件和結(jié)論、輸入和輸出數(shù)據(jù)均要有明 確的規(guī)定與要求。 ? 確定性,精確地給出每一步的操作(不一定都是運(yùn)
11、 算)定義, 不容許有歧義。 ? 可執(zhí)行性,算法中的每個(gè)操作都是可執(zhí)行的 ? 有窮性,在有限步內(nèi)能夠結(jié)束解題過程計(jì)算機(jī)上的算法,按面向求解問題的不同, 分為數(shù)值算法和非數(shù)值算法。,,第一章計(jì)算方法與誤差,1.2 誤差的來源及分類 早在中學(xué)我們就接觸過誤差的概念,如在做熱力學(xué)實(shí)驗(yàn)中,從溫度計(jì)上讀出的溫度是23.4度,就不是一個(gè)精確的值,而是含有誤差的近似值。事實(shí)上,誤差在我們
12、的日常生活中無處不在,無處不有。如量體裁衣,量與裁的結(jié)果都不是精確無誤的,都含有誤差。,在用數(shù)值方法解題過程中可能產(chǎn)生的誤差歸納起來有如下幾類:1. 模型誤差2. 觀測(cè)誤差3. 截?cái)嗾`差4. 舍入誤差,第一章計(jì)算方法與誤差,用數(shù)學(xué)方法解決一個(gè)具體的實(shí)際問題,首先要建立數(shù)學(xué)模型,這就要對(duì)實(shí)際問題進(jìn)行抽象、簡(jiǎn)化,因而數(shù)學(xué)模型本身總含有誤差,這種誤差叫做模型誤差數(shù)學(xué)模型是指那些利用數(shù)學(xué)語(yǔ)言模擬現(xiàn)實(shí)而建立起來的有關(guān)量的描述數(shù)
13、學(xué)模型的準(zhǔn)確解與實(shí)際問題的真解不同,,1. 模型誤差,在數(shù)學(xué)模型中通常包含各種各樣的參變量,如溫度、長(zhǎng)度、電壓等,這些參數(shù)往往是通過觀測(cè)得到的,因此也帶來了誤差,這種誤差叫觀測(cè)誤差數(shù)學(xué)模型中的參數(shù)和原始數(shù)據(jù),是由觀測(cè)和試驗(yàn)得到的由于測(cè)量工具的精度、觀測(cè)方法或客觀條件的限制,使數(shù)據(jù)含有測(cè)量誤差,這類誤差叫做觀測(cè)誤差或數(shù)據(jù)誤差根據(jù)實(shí)際情況可以得到誤差上下界數(shù)值方法中需要了解觀測(cè)誤差,以便選擇合理的數(shù)值方法與之適應(yīng),2. 觀測(cè)誤差,精
14、確公式用近似公式代替時(shí),所產(chǎn)生的誤差叫截?cái)嗾`差 例如, 函數(shù)f(x)用泰勒(Taylor)多項(xiàng)式,3. 截?cái)嗾`差,(?介于0與x之間),近似代替,則數(shù)值方法的截?cái)嗾`差是,截?cái)嗾`差的大小直接影響計(jì)算結(jié)果的精度和計(jì)算 工作量,是數(shù)值計(jì)算中必須考慮的一類誤差,在數(shù)值計(jì)算中只能對(duì)有限位字長(zhǎng)的數(shù)值進(jìn)行運(yùn)算需要對(duì)參數(shù)、中間結(jié)果、最終結(jié)果作有限位字長(zhǎng)的處理工作,這種處理工作稱作舍入處理用有限位數(shù)字代替精確數(shù),這種誤差叫做舍入誤差,是數(shù)
15、值計(jì)算中必須考慮的一類誤差,4. 舍入誤差,第一章計(jì)算方法與誤差,,,,例如在計(jì)算時(shí)用3.14159近似代替?,產(chǎn)生的誤差R= ?-3.14159=0.0000026…就是舍入誤差。 上述種種誤差都會(huì)影響計(jì)算結(jié)果的準(zhǔn)確性,因此需要了解與研究誤差,在數(shù)值計(jì)算中將著重研究截?cái)嗾`差、舍入誤差,并對(duì)它們的傳播與積累作出分析,,1.3 誤差的度量,1.3.1 絕對(duì)誤差和絕對(duì)誤差限 定義1.1 設(shè)精確值x的近似值 x* ,稱差
16、 e(x*) =x-x* 近似值x*的絕對(duì)誤差,簡(jiǎn)稱誤差。 e(x*)又記為e* 當(dāng)e*>0時(shí),x*稱為弱近似值,當(dāng)e*<0時(shí),x*稱為強(qiáng)近似值|e*|越小, x*的精度越高 由于精確值一般是未知的,因而e* 不能求出來, 但可以根據(jù)測(cè)量誤差或計(jì)算情況設(shè)法估計(jì)出它的取值范圍,即誤差絕對(duì)值的一個(gè)上界或稱誤差限。,,,1.3 誤差的度量,定義1.2 設(shè)存在一
17、個(gè)正數(shù),使,則稱為近似值的絕對(duì)誤差限,簡(jiǎn)稱誤差限或精度。 實(shí)際應(yīng)用中經(jīng)常使用這個(gè)量來衡量誤差限, 這就是說, 如果近似數(shù) 的誤差限為 , 則表明準(zhǔn)確值 x 必落在? ? 上, 常采用下面的寫法,,,,,,,來表示近似值的精度或準(zhǔn)確值x所在的范圍。,,1.3 誤差的度量,,例1 設(shè)x =?=3.1415926… 近似值x* =3.14,它的絕 對(duì)誤差是
18、 0.001 592 6…,有,,?? ?x-x*?=0.0015926… ?0.002=0.2?10-2例2 又近似值x* =3.1416,它的絕對(duì)誤差是 0.0000074…,有 ?x-x*?=0.0000074… ?0.000008=0.8?10-5例3 而近似值x* =3.1415,它的絕對(duì)誤差是 0.0000926…,有 ?x-x*?=0.0000926… ?0.0001=0.
19、1?10-3可見,絕對(duì)誤差限?*不是唯一的,但?*越小越好,,1.3.2 相對(duì)誤差和相對(duì)誤差限,,,,,只用絕對(duì)誤差還不能說明數(shù)的近似程度,例如甲打字每100個(gè)錯(cuò)一個(gè),乙打字每1000個(gè)錯(cuò)一個(gè),他們的誤差都是錯(cuò)一個(gè),但顯然乙要準(zhǔn)確些,這就啟發(fā)我們除了要看絕對(duì)誤差外,還必須顧及量的本身。定義1.3 絕對(duì)誤差與精確值x的比值,,稱為相對(duì)誤差。 簡(jiǎn)記為,,,,1.3.2 相對(duì)誤差和相對(duì)誤差限,,,,,,,,,相對(duì)誤差越小,精度就越
20、高,實(shí)際計(jì)算時(shí),x通常是不知道的,因此可用下列公式計(jì)算相對(duì)誤差,,,定義1.4 設(shè)存在一個(gè)正數(shù) ,使,,,則稱 為近似值 的相對(duì)誤差限。 簡(jiǎn)記為,,,,,1.3.2 相對(duì)誤差和相對(duì)誤差限,例4. 甲打字每100個(gè)錯(cuò)一個(gè),乙打字每1000個(gè) 錯(cuò)一個(gè),求其相對(duì)誤差解: 根椐定義:甲打字時(shí)的相對(duì)誤差 乙打字時(shí)的相對(duì)誤差,,1.3.3
21、有效數(shù)字,定義1.5 設(shè)x的近似值,,其中 是0到9之間的任一個(gè)數(shù),但n是正整數(shù), m是整數(shù),若,,,,則稱 為x的具有n位有效數(shù)字的近似值, 準(zhǔn)確到第n位, 是 的有效數(shù)字。,,,,1.3.3 有效數(shù)字,例5. 3.142作為π的近似值時(shí)有幾位有效數(shù)字解: 3.141592…= 0.3141592…× 3.142 = 0.3142×
22、 m = 1 |π-3.142 |=|0.3141592…× -0.3142×? | < 0.000041× < 0.0005= × m –n =1–n =-3 所以 n =4,具有4位有效數(shù)字,,,,,例6. 當(dāng)取3.141作為?的近似值時(shí) ??-3.141?=?0.3141592…?101
23、-0.3141?101? ≤0.0000592 ?101 <0.0005=1/2 ? 10-2 m-n=1-n=-2 所以n=3具有3位有效數(shù)字推論 如果近似數(shù)x*誤差限是某一位的半個(gè)單位, 由該位到x*的第一位非零數(shù)字一共有n位 x*就有n位有效數(shù)字,也就是說準(zhǔn)確到該位,,再如3.1416作為?的近似值時(shí)? ?-3.1416 ?=?
24、0.3141592…?101-0.31416?101 ? ≤0.00000074 ?101 ≤ 0.0000074<0.00005 <0.5 ? 10-4 m-n=1-n=-4 所以 n=5x*= 3.1416有5位有效數(shù)字,,關(guān)于有效數(shù)字說明① 用四舍五入取準(zhǔn)確值的前n位x*作為近似值,則 x*必有n位有效數(shù)字。如3.142作為 ?的近似值
25、 有4位有效數(shù)字,而3.141為3位有效數(shù)字② 有效數(shù)字相同的兩個(gè)近似數(shù),絕對(duì)誤差不一定 相同。例如,設(shè)x1*=12345,設(shè)x2*=12.345,兩者 均有5位有效數(shù)字但絕對(duì)誤差不一樣 ?x- x1* ?=?x- 12345? ≤ 0.5= 1/2 ? 100 ?x- x2* ?=?x- 12.345?≤0.0005=1/2?10-3③ 把任何數(shù)乘以10p(p=0,?1,…)不影響有效位數(shù)④ 準(zhǔn)確
26、值具有無窮多位有效數(shù)字,如三角形面積 S=1/2ah=0.5ah 因?yàn)?.5是真值,沒有誤差 ?*=0,因此n??,準(zhǔn)確值具有無窮位有效數(shù)字,1.3.4 有效數(shù)字與相對(duì)誤差,定理1.1 若近似數(shù)x*=?0.x1x2…xn?10m具有 n 位 有效數(shù)字,則其相對(duì)誤差,,證: ∵ x* = ?0.x1x2…xn?10m ∴ ?x*? ≥x1?10 m-1 又 ∵ x*具有n位有效數(shù)字,則?x
27、- x*?≤1/2?10 m - n,∴,一般應(yīng)用中可以取?r*=1/2x1 ?10-(n-1),n越大,?r*越小, ∴有效數(shù)字越多,相對(duì)誤差就越小例7 取3.14作為?的四舍五入的近似值時(shí),求其 相對(duì)誤差解:3.14=0.314 ?101 x1=3 m=1∵ 四舍五入的近似值,其各位都是有效數(shù)字 ∴ n=3 ?r*=1/2x1 ?10-(n-1)=1/2*3 ?10-2=17%,1.
28、3.4 有效數(shù)字與相對(duì)誤差,例8 已知近似數(shù)x*有兩位有效數(shù)字,試求其相 對(duì)誤差限解:已知 n=2 代入公式 ?r*=1/2x1 ?10-(n-1)得 ?r*=1/2x1 ?10-1 x*的第一位有效數(shù)字x1沒有給出,可進(jìn)行如下討論:當(dāng) x1=1 ?r*=1/2x1 ?10-1=1/2*1 ?10-1=5% x1=9 ?r*=1/2x1 ?10-1=1/2*9 ?10-1=0.56
29、% 取 x1=1 時(shí)相對(duì)誤差為最大,即 5%,1.3.4 有效數(shù)字與相對(duì)誤差,1.3.4 有效數(shù)字與相對(duì)誤差,定理1.2 若近似數(shù)x*=?0.x1x2…xn?10m相對(duì)誤差 則該近似數(shù)具有n位有效數(shù)字證:∵ x*=?0.x1x2…xn?10m ∴ ? x* ?≤ (x1+1) ?10m-1,,,由有效數(shù)字定義可知,x*具有n位有效數(shù)字。證畢,例9 已知近似數(shù)x*的相對(duì)
30、誤差限為0.3%,問x* 有幾位有效數(shù)字?解:由,,得,,ⅰ當(dāng)x1=1時(shí),3?10-3=1/4?10-(n-1)?12?10-3=10-(n-1) 上式兩邊取以10為底的對(duì)數(shù)得 lg22+lg3+(-3)=-n+1 ∵lg2=0.3010 lg3=0.4771 2?0.3010+0.4771-4=-n ∴ n=2.9209ⅱ 當(dāng)x1=9時(shí),3?10-3=1/20?10-(n-1)? 6?10-3=10-n
31、 上式兩邊取以10為底的對(duì)數(shù)得 lg2+lg3+(-3)=-n ∴ n=2.2219 ∴x*至少有3位有效數(shù)字,例10 為使 的近似數(shù)的相對(duì)誤差小于0.1%, 問查開方表時(shí),要取幾位有效數(shù)字?解: ∵ 8< <9 ∴ x1=8,,,∴ -(n-1)2.7448 取 n =3即查平方表時(shí) ?8.37取三位有效數(shù)字,,,∴,,,注意:
32、 已知有效數(shù)字,求相對(duì)誤差用公式 已知相對(duì)誤差,求具有幾位有效數(shù)字公式,,,1.4.1 函數(shù)運(yùn)算誤差 函數(shù)運(yùn)算誤差可用泰勒展開式來分析 設(shè)一元函數(shù)f(x),自變量x的近似值x*,f(x)的近似值f(x*),其誤差限記為?[f(x*)] ,對(duì)f(x) 在近似值x* 附近泰勒展開,1.4 誤差的傳播,,介于x,x*之間,,,,其中?*為近似數(shù)x*的絕對(duì)誤差限,設(shè)f`(x* )與f 〃(
33、x* )相差不大,可忽略?*的高次項(xiàng),于是可得出函數(shù)運(yùn)算的誤差和相對(duì)誤差,,多元函數(shù)亦類似,用泰勒展開即可推導(dǎo)出來,,例11 已測(cè)得某場(chǎng)地長(zhǎng)L的值L*=110m,寬d的值 d*=80m,已知 ?L-L*? ≤0.2m, ?d-d*?≤0.1m 求場(chǎng)地面積S=Ld的絕對(duì)誤差限和相對(duì)誤差限解:,,其中,?(d*)=0.1m , ?(L*)=0.2m絕對(duì)誤差限 ?(s*)?(80?0.2+110 ? 0.1)m2=27m
34、2,相對(duì)誤差限,1.4.2 算術(shù)運(yùn)算誤差,,計(jì)算機(jī)的數(shù)值運(yùn)算主要是加、減、乘、除四則運(yùn)算,帶有誤差的數(shù)在多次運(yùn)算過程中會(huì)進(jìn)行傳播。使計(jì)算結(jié)果產(chǎn)生誤差。 誤差的變化可以用微分簡(jiǎn)單描述。注意到準(zhǔn)確值x與其近似值通常很接近,其差可認(rèn)為是較小的增量,即可以把差看作微分,由此可得誤差的微分近似關(guān)系式。,,,即x的微分表示x的絕對(duì)誤差,的微分表示x的相對(duì)誤差,利用這兩個(gè)關(guān)系式及微分運(yùn)算可以得到一系列有關(guān)四則運(yùn)算的誤差結(jié)果。,1.4.2 算術(shù)運(yùn)
35、算誤差,,,,由d( x±y)=dx±dy 可得兩數(shù)之和(差)的誤差等于兩數(shù)的誤差之和(差); 由 可得兩數(shù)之積的相對(duì)誤差等于兩數(shù)的相對(duì)誤差之和; 由 可得兩數(shù)商的相對(duì)誤差可看作是被除數(shù)與除數(shù)的相對(duì)誤差之差。,,,,例12 正方形的邊長(zhǎng)約為100cm,怎樣測(cè)量才能使其 面積誤差不超過1cm2 ?解: 設(shè)正方形邊長(zhǎng)
36、為x cm,測(cè)量值為x*cm,面積 y=f(x)=x2 由于 f ?(x)=2x 記自變量和函數(shù)的絕對(duì)誤差分別是e*、e(y*),則 e*=x-x* e(y*)=y-y*? f ?(x*)(x-x*)=2x*e*=200e* 現(xiàn)要求 ?e(y*)? ? 200e* < 1 ,于是 ? e* ? ≤(1/200)cm=0.005cm
37、 要使正方形面積誤差不超過1cm2,測(cè)量邊長(zhǎng)時(shí)絕對(duì)誤差應(yīng)不超過0.005cm。,,,1.5 減少運(yùn)算誤差原則,,誤差是用來衡量數(shù)值方法好與壞的重要標(biāo)志 為此對(duì)每一個(gè)算法都要進(jìn)行誤差分析(1)兩個(gè)相近的數(shù)相減,會(huì)嚴(yán)重?fù)p失有效數(shù)字 例如x =1958.75,y =1958.32都具有五位 有效數(shù)字,但x-y=0.43只有兩位有效數(shù)字 通常采用的方法是改變計(jì)算公式,例如當(dāng)與 很接近時(shí),由于,,,,用右端代替左
38、端公式計(jì)算,有效數(shù)字就不會(huì)損失,1.5 減少運(yùn)算誤差原則,,當(dāng)x很大時(shí)可作相應(yīng)的變換,,,,則用右端來代替左端。,1.5 減少運(yùn)算誤差若干原則,當(dāng)x接近0時(shí),,一般情況,當(dāng)f(x)≈f(x*)時(shí),可用泰勒展開,,取右端的有限項(xiàng)近似左端。 如果計(jì)算公式不能改變,則可采用增加有效位數(shù)的方法保證精度,(2)防止大數(shù)“吃掉”小數(shù)例 求二次方程x2-105x+1=0的根 解:按二次方程求根公式 x1=(105+(10
39、10-4)1/2)/2 x2=(105-(1010-4)1/2)/2 在8位浮點(diǎn)數(shù)計(jì)算得 x1=(105+105 )/2=105 (正確), x2=(105-105 )/2=0 (錯(cuò)誤)產(chǎn)生錯(cuò)誤的原因① 出現(xiàn)大數(shù)1010吃掉小數(shù)4的情況② 分子部分出現(xiàn)兩個(gè)相近數(shù)相減而喪失有 效數(shù)位常稱為災(zāi)難性的抵消,(3)絕對(duì)值太小的數(shù)不宜做除數(shù)當(dāng)分母為兩個(gè)相
40、近數(shù)相減時(shí),會(huì)喪失有效數(shù)字,這里分子的誤差被擴(kuò)大104倍,再如若將分母變?yōu)?.0011,即分母只有0.0001的變化時(shí),計(jì)算結(jié)果卻有了很大變化,1.5 減少運(yùn)算誤差若干原則,,,例1.8 計(jì)算,解: 分子分母分別計(jì)算后相除(取9位小數(shù)),A=0.0005*0.0143*0.0012=0.00000715*0.0012 =0.000000009(有舍入),B=0.0003*0.0125*0.0135=0.0000037
41、5*0.0135 =0.000000051(有舍入),D=A/B=0.17647,真值為0.16948148…,所以D只準(zhǔn)確到小數(shù)后一位,1.5 減少運(yùn)算誤差若干原則,例: 計(jì)算,算法2。分成三組因子。每組只取六位小數(shù)計(jì)算 a=0.0005/0.0003=1.666667(有舍入) b=0.0143/0.0125=1.144000 c=0.001
42、2/0.0135=0.088889 (有舍入) D=a*b*c=1. 666667* 1.144000* 0.088889 =0.169482,準(zhǔn)確到小數(shù)后5位。,1.5 減少運(yùn)算誤差若干原則,(4)簡(jiǎn)化計(jì)算步驟,減少運(yùn)算次數(shù) x255=xx2x4x8x16x32x64x128 原先要做254次乘法現(xiàn)只需14次即可 又如計(jì)算多項(xiàng)式 p(x)=anxn? an-1xn-1 ? … ? a1x ?
43、a0 的值 若直接計(jì)算akxk,再逐項(xiàng)相加,一共要做 n+(n-1)+…+2+1=n(n+1)/2次乘法和n次加法,1.5 減少運(yùn)算誤差若干原則,如果將前n項(xiàng)提出x,則有 p(x)=(anxn-1? an-1xn-2 ? … ? a1 )x ? a0 =((anxn-2?an-1xn-3?…? a2)x?a1)x ? a0 =(…(anx ? an-1)x?…?a2)x ? a1)x ? a0寫成遞推
44、公式,1.5 減少運(yùn)算誤差若干原則,,于是 ,這種多項(xiàng)式求值的算法稱為秦九韶算法,只做n次乘法和n次加法,程序?qū)崿F(xiàn)簡(jiǎn)單,,1.5.5 控制遞推公式中誤差的傳播,對(duì)于一個(gè)數(shù)學(xué)問題的求解往往有多種數(shù)值方法在選擇數(shù)值方法時(shí),要注意所用的數(shù)值方法不應(yīng)將計(jì)算過程中難以避免的誤差放大的較快,造成計(jì)算結(jié)果完全失真。例13 計(jì)算積分 并估計(jì)誤差解 容易得到遞推公式,,,,,,,,,即 為,,,則準(zhǔn)確的理論遞
45、推式 實(shí)際運(yùn)算的遞推式 兩式相減有,,,,,這就是說,若 與 的誤差為 = - ,即 ,則誤差的遞推規(guī)律為,,,,,于是,,計(jì)算 時(shí)的誤差被擴(kuò)大了 倍,顯然算法是數(shù)值不穩(wěn)定的。 如果將遞推公式 變換一種形式,,,,,,,,,,,,,準(zhǔn)確的理論遞推式實(shí)際運(yùn)算的遞推式從而有,,,,,即,,于是有,則這個(gè)算法的誤差傳遞規(guī)律為,,即每計(jì)算一步的誤差
46、的絕對(duì)值是上一步的十分之一,誤差的傳播逐步縮小,得到很好的控制,這個(gè)算法是數(shù)值穩(wěn)定的,,本章小結(jié),誤差在數(shù)值計(jì)算中是不可避免的,誤差的傳播和積累直接影響到計(jì)算結(jié)果的精度。在研究算法的同時(shí),必須注重誤差分析,使建立起來的算法科學(xué)有效。 按照誤差產(chǎn)生的來源可分為模型誤差、觀測(cè)誤差,截?cái)嗾`差、和舍入誤差等。 誤差的表示法有絕對(duì)誤差和相對(duì)誤差兩種。 在表示一個(gè)近似數(shù)時(shí),要用到有效數(shù)字的概念,這在數(shù)值計(jì)算中非常有用,有效數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
評(píng)論
0/150
提交評(píng)論