《計算方法》課件1第1章_第1頁
《計算方法》課件1第1章_第2頁
《計算方法》課件1第1章_第3頁
《計算方法》課件1第1章_第4頁
《計算方法》課件1第1章_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章引論1.1計算方法的研究內(nèi)容1.2誤差基礎(chǔ)知識1.3數(shù)值計算中應(yīng)注意的問題習題1

1.1計算方法的研究內(nèi)容

在自然科學、工程技術(shù)、經(jīng)濟和醫(yī)學各領(lǐng)域中產(chǎn)生的許多實際問題都可以通過數(shù)學語言描述為數(shù)學問題,也就是說,由實際問題建立數(shù)學模型,然后應(yīng)用各種數(shù)學方法和技巧來求解,最后把結(jié)果反饋到實際應(yīng)用中去。不過,大家應(yīng)該注意到,有許多數(shù)學問題是得不到精確解的,此時就需要尋求解決這些問題的近似解的計算方法,我們把這樣的計算方法稱為數(shù)值計算方法或數(shù)值分析。計算方法是計算數(shù)學的一個主要部分,而計算數(shù)學則是數(shù)學學科的一大分支,它研究如何借助于計算機求解各類數(shù)值問題。應(yīng)用計算機求解各類數(shù)值問題需要經(jīng)歷以下幾個主要過程:

(1)實際問題在各個領(lǐng)域都有許多實際問題,需要這些不同領(lǐng)域的專家提出具有明確意義的問題,并給出該問題符合本領(lǐng)域所固有的規(guī)則或自然法則。

(2)數(shù)學模型對不同領(lǐng)域?qū)<姨岢龅膶嶋H問題,用辨證唯物主義的思想進行分析,在抓住事物主要因素及在合理假設(shè)下,運用該領(lǐng)域中的規(guī)律,結(jié)合數(shù)學理論、方法和工具,建立問題中各種量之間的聯(lián)系,從而得到完備的數(shù)學模型。

(3)計算方法對數(shù)學模型先從數(shù)學理論上進行分析,研究解的存在性、唯一性。只有在滿足解的存在性和唯一性條件下,才能進行數(shù)據(jù)計算,有些問題可以給出解析解,但在大多數(shù)情況下,要對數(shù)學模型進行數(shù)值計算。如何把連續(xù)模型離散化,用什么樣的方法進行計算,算法的相容性、收斂性、穩(wěn)定性等都是計算方法的研究內(nèi)容。

(4)算法設(shè)計算法設(shè)計在應(yīng)用計算機進行科學計算過程中起著非常重要的作用,一個收斂快、精度好的算法,有時比飛速發(fā)展的計算機硬件更有使用價值。

(5)計算求解在計算機上求出所要的結(jié)果。目前已有的數(shù)學軟件可以幫助我們實現(xiàn)上機計算,如Maple、Matlab、Mathematica等,基本上已經(jīng)將數(shù)值分析的主要內(nèi)容設(shè)計成簡單的函數(shù),只要調(diào)用這些函數(shù)進行運算便可得到數(shù)值結(jié)果。在實際工作中,由于面臨的問題具有明確的特征,其復(fù)雜性有時已經(jīng)超過書本所述例證范圍,因而有必要深入掌握計算方法的基本思想和具體內(nèi)容。

數(shù)值分析的內(nèi)容包括線性代數(shù)方程組求解、非線性方程(組)求解、矩陣的特征值與特征值向量的計算、函數(shù)插值、函數(shù)逼近、數(shù)值積分與數(shù)值微分以及微分方程數(shù)值解法。

1.2誤差基礎(chǔ)知識

對數(shù)學問題進行數(shù)值求解,求得的結(jié)果一般情況下都含有誤差,即所得結(jié)果多數(shù)情況下都是近似解。對這些結(jié)果的誤差進行分析和估計是計算方法的主要內(nèi)容。通過對它們的研究可以確切地知道誤差的性態(tài)和誤差的范圍。1.2.1誤差來源與分類

計算方法中的數(shù)可以分為兩類:一類是精確數(shù),即它精確地反映了實際情況,例如某班有學生48人,數(shù)字48就是精確數(shù);另一類是近似值,它只能近似地反映實際情況,例如今天早晨溫度是-5℃,數(shù)字-5就僅僅是一個測量所得的近似值。數(shù)的精確值與其近似值之差稱為誤差。在數(shù)值計算中,誤差是不可避免的,大多數(shù)情況下不存在嚴格的精確

數(shù),因此,分析誤差產(chǎn)生的原因,把誤差限制在允許的范圍內(nèi)是非常有必要的。

一般來說,我們可以把誤差分為兩大類:固有誤差和計算誤差。固有誤差包括模型誤差和觀測誤差;計算誤差包括截斷誤差和舍入誤差。

(1)模型誤差對實際問題建立數(shù)學模型時存在不可避免的誤差。在定量分析客觀事物時,總是要抓住主要矛盾,忽略次要矛盾,因此建立起來的數(shù)學模型與實際客觀事物之間存在一定差距,這種差距在數(shù)學上稱為模型誤差。

(2)觀測誤差在解決實際問題時,有時需要從實驗或觀測中得到各種數(shù)據(jù),而由于觀測手段和工具的限制,得到的數(shù)據(jù)必然存在一定誤差,這種數(shù)據(jù)誤差稱為觀測誤差。觀測誤差又稱為測量誤差或參數(shù)誤差。觀測值的精確程度取決于測量儀器的精密程度和操作人員的測量方法等因素。

(3)截斷誤差數(shù)學模型的精確值與用數(shù)值方法求得的近似值的差距稱為截斷誤差。截斷誤差又稱為方法誤差。這種誤差常常是在用有限過程來逼近無限過程時產(chǎn)生的。

例如,用ex的冪級數(shù)表達式:

(1.1)計算ex的值時,常常取級數(shù)前n項的部分和作為近似公式,如取:

(1.2)

這樣,用(1.2)式代替(1.1)式計算ex的近似值與精確值之間的誤差是由于截去(1.1)式后的無窮多項產(chǎn)生的,故稱為截斷誤差,其截斷誤差為。

(4)舍入誤差計算機中參加運算的數(shù)據(jù)與原始數(shù)據(jù)之間的差距稱為舍入誤差。由于計算機的字長有限,參加運算的數(shù)據(jù)只能具有有限位,因此原始數(shù)據(jù)在計算機中表示時可能會產(chǎn)生誤差,當然每次運算后又會產(chǎn)生新的誤差,這些誤差都是舍入誤差。

例如,e=2.7182818284590…,

π=3.1415926535897932…等都不可能用全部小數(shù)位參加計算機運算。在參加計算機計算過程中,均是取這些數(shù)的近似值進行運算,那么由此得到的近似值與精確值之間的誤差就是舍入誤差。我們還要注意以下兩點:

(1)在計算方法中,通常至少有上述一種誤差出現(xiàn),而事實上在大多數(shù)數(shù)值方法中,會有上述多種誤差同時出現(xiàn)。(2)在計算方法中,我們要研究的是計算誤差而不是固有誤差。1.2.2絕對誤差和相對誤差

有兩種衡量誤差大小的方法:一是絕對誤差;二是相對誤差。

設(shè)某一個量的精確值是x,其近似值為x*,則x與x*的差:

(1.3)

稱為近似值x*的絕對誤差,簡稱誤差。(1.3)式也可以寫成

(1.4)注意,絕對誤差e(x*)可正也可負。當e(x*)>0時,x*稱為x的弱(不足)近似值;當e(x*)<0時,x*稱為x的強(過剩)近似值。|e(x*)|的大小標志著x*的精確度,一般地,對同一個

量的不同近似值,|e(x*)|越小,x*的精確度就越高。

實際上,我們只能知道近似值x*,而一般不知道精確值x,但可以根據(jù)測量與計算的情況,對絕對誤差的大小范圍做出估計。也就是說,可以指出一個正數(shù)ε,使

(1.5)

我們稱ε為近似值x*的一個絕對誤差界,簡稱誤差界。

(1.5)式還可以寫成

(1.6)

這表明精確值x在區(qū)間[x*—ε,x*+ε]內(nèi)。

例如,對于π=3.1415926535897932…,取π*=3.14,則

那么0.002就是近似值π*的一個絕對誤差界。

在許多情況下,絕對誤差的大小不能完全刻畫近似值的精確程度。例如,若x=100(cm),x*=99(cm),則e(x*)=1(cm);而若y=1000000(cm),y*=995000(cm),則e(y*)=5000(cm)。從表面上看,后者的絕對誤差是前者的5000倍。但是,前者每

1cm長度產(chǎn)生了0.01cm的誤差,而后者每1cm長度僅產(chǎn)生0.005cm的誤差,所以,后者要比前者精確度高一些。由此可見,要確定一個量的近似值的精確程度,除了要看

誤差的大小外,往往還應(yīng)該考慮該量本身的大小。

規(guī)定

(1.7)

稱為近似值x*的相對誤差。相對誤差說明了近似值x*的絕對誤差e(x*)與精確值x本身比較時所占的比例,它反映了一個近似值的精確程度,相對誤差越小,精確度就越高。相對誤差是用百分數(shù)表示的。事實上,由于一個量的精確值往往是不知道的,因此還常常將x*的相對誤差er(x*)定義為

(1.8)當較小,比如

時,有

它是er(x*)的平方項級,可忽略不計。一般來說,計算出相對誤差是比較困難的,然而,可以像絕對誤差那樣估計它的大小范圍,即可以指出一個正數(shù)εr,使得

(1.9)

稱εr為近似值x*的一個相對誤差界。

根據(jù)以上定義,上例中er(x*)=1%與er(y*)=0.5%分別是x*與y*的相對誤差。1.2.3有效數(shù)字

我們在表示一個近似值時,為了能反映它的精確度,經(jīng)常用到“有效數(shù)字”的概念。

若x的某一近似值x*的絕對誤差界是某一位的半個單位,則從這一位直到左邊第一個非零數(shù)字為止的所有數(shù)字都稱為x*的有效數(shù)字。具體地說,對于數(shù)x,經(jīng)四舍五入后得到它的近似值x*為

其中,xi(i=1,2,…,n)是0~9之間的任一個數(shù),但x1≠0;n為正整數(shù);m為整數(shù)。若,則x*是x具有n位有效數(shù)字的近似值,或稱x*精確到第n位,x1,x2,…,xn都是x的有效數(shù)字。例如,π=3.14159265…,取π*1=3.142作為π的近似值時,

即m-n=-3,m=1,n=4,所以3.142作為π的近似值有4位有效數(shù)字。

當取π*2=3.141作為π的近似值時,

即m-n=-2,m=1,n=3,所以3.141作為π的近似值有3位有效數(shù)字。綜上可知,若近似值x*的絕對誤差的絕對值小于某一位的半個單位,那么從該位到x*的第一位非零數(shù)字一共有幾位,則x*就有幾位有效數(shù)字。關(guān)于有效數(shù)字,我們還要注意以下幾點:

(1)若用四舍五入法取精確值x的前n位作為近似值x*,則x*必有n位有效數(shù)字。但是,若x*僅準確到某位數(shù)字,而將這位數(shù)字以后的數(shù)字進行四舍五入,則得到的不一定是有

效數(shù)字。

例如,若x=5.0145,x*1=5.01,x*2=5.015,則x*1、x*2分別是x的不同近似值,由上可知,x*1有三位有效數(shù)字,而x*2也僅有三位有效數(shù)字,其中由四舍五入得到x*2的千分位上的5不是有效數(shù)字。

(2)有效數(shù)字位數(shù)相同的兩個近似數(shù),絕對誤差界不一定相同。

例如,已知x*1=10706,x*2=11.104,二者都有5位有效數(shù)字,但x*1的絕對誤差界為,x*2的絕對誤差界為

,顯然不同。

(3)把任何數(shù)字乘10p(p=0,±1,±2,…)等于移動該數(shù)的小數(shù)點,它并不影響其有效數(shù)字的位數(shù)。例如,g=9.80m/s2具有3位有效數(shù)字,而g=0.00980

×103m/s2也同樣具有3位有效數(shù)字。但是,9.8×103m/s2與9.80×103m/s2的有效數(shù)字是不同的,9.8×103m/s2有2位有效數(shù)字,9.80×103m/s2有3位有效數(shù)字。同理,0.1、0.10、0.100等數(shù)的有效數(shù)字也是不同的。如果整數(shù)并非全是有效數(shù)字,則可以用浮點數(shù)表示。如8000000的絕對誤差限不超過500,即,則應(yīng)把

8000000表示為x*=8000×103或0.8000×107。若記為

x*=8000000,則表示其絕對誤差限不超過。

例1.1某地糧食產(chǎn)量為888萬噸,表示方式不同,絕對誤差也不同。

888萬噸=888×104

噸=0.888×107

噸,此時絕對誤差為噸,即萬噸。

888萬噸=8880000噸,此時絕對誤差為噸。

(4)有效數(shù)字越多,絕對誤差就越小,相對誤差也就越小。

設(shè)近似值x*=±0.x1x2…xn×10m,x1≠0,并且可以確定

x*具有n位有效數(shù)字,其絕對誤差限為,則在m相同的情況下,n越大ε就越小,所以,有效數(shù)字位數(shù)越多誤差就越小。同樣,可以對具有n位有效數(shù)字的近似值x*的相對誤差做出如下估計:

所以

(1.10)

可見,有效數(shù)字越多,相對誤差也就越小。

例1.2要使的近似值的相對誤差限小于0.1%,要取幾位有效數(shù)字?

解設(shè)取n位有效數(shù)字,由(1.10)式可得

由于=4.4…,因此x1=4,由于要求

即只要n取4就行,因此對的近似值取4位有效數(shù)字,其相對誤差限就小于0.1%。此時由開方表得≈4.472。1.2.4數(shù)據(jù)誤差在運算中的傳播

設(shè)x*、y*分別是初始數(shù)據(jù)x、y的近似值,即

其中,e(x*)、e(y*)分別為x*、y*的絕對誤差。下面考察用x*、y*代替x、y時,函數(shù)值z=f(x,y)會產(chǎn)生怎樣的誤差。

假設(shè)e(x*)、e(y*)的絕對值都很小,而且函數(shù)z=f(x,y)可微,記此時z的近似值為z*=f(x*,y*),則有

上式可近似地表示為

(1.11)而且

(1.12)從(1.11)式容易得到,在進行數(shù)值運算時,初始數(shù)據(jù)誤差與計算結(jié)果產(chǎn)生的誤差之間有以下關(guān)系:

(1)若f(x,y)=x±y,則

(1.13)

(2)若f(x,y)=xy,則

(1.14)

(3)若

,則

(1.15)從(1.12)式容易得到以下關(guān)系:

(1)若f(x,y)=x±y,則

(1.16)

(2)若f(x,y)=xy,則

(1.17)

(3)若,則

(1.18)

1.3數(shù)值計算中應(yīng)注意的問題

數(shù)值計算中的誤差分析是一個既復(fù)雜而又不可避免的問題。為了保證數(shù)值計算結(jié)果的正確性,就必須把誤差控制在比較小的范圍內(nèi),也就是要求掌握誤差產(chǎn)生、傳播的規(guī)律。

可是實際上,目前尚無有效的方法對誤差做出定量的估計,所以,在解決具體數(shù)值問題時,往往首先需要對該問題做出定性的分析。1.3.1算法的數(shù)值穩(wěn)定性

如果在用某種算法進行數(shù)值計算過程中,舍入誤差在一定條件下能夠控制在一定范圍內(nèi)(即舍入誤差的增長不會影響結(jié)果的可靠性),則稱該算法是數(shù)值穩(wěn)定的,否則稱該算法為數(shù)值不穩(wěn)定的。

例1.3對n=0,1,2,…,計算積分。

解由于取I0=ln1.2≈0.182,用如下遞推公式計算:

①(n=1,2,…,8)

(1.19)

得到(精確到小數(shù)點后第3位)令εn=In-I*n,則有εn=-5εn-1??梢?,若從I*n-1計算I*n,其誤差將以每步5倍的速度增長,從而有

這表明計算公式①是數(shù)值不穩(wěn)定的。

現(xiàn)在換一種方案,將(1.19)式倒過來算。取I*9=0.018,得到遞推公式:

(n=8,7,…,1)

計算可得且此時

I*0≈0.182

由此可見,利用公式②得到的結(jié)果與精確值比較相近,這是因為雖然e(I*9)較大,但利用公式②計算時,每步誤差將縮小為上步誤差的1/5,故算法②是數(shù)值穩(wěn)定的。

此例說明,在實際數(shù)值計算中,數(shù)值方法不穩(wěn)定的算法是不能使用的。一個數(shù)值算法,如果對任何允許的初始值都穩(wěn)定,則稱此算法為無條件穩(wěn)定的;若對某些初始值穩(wěn)定,而對另一些初始值不穩(wěn)定,則這樣的算法稱為條件穩(wěn)定的。1.3.2避免誤差危害的若干原則

數(shù)值計算中,除了要分清算法是否穩(wěn)定外,還應(yīng)盡量避免誤差危害,防止有效數(shù)字的損失,下面給出若干原則。

1.避免兩相近數(shù)相減

由(1.16)式看到,兩相近的數(shù)字相減時,會將計算結(jié)果的相對誤差變得很大,稱此時的精度損失為相減相消。為了防止這種現(xiàn)象產(chǎn)生,最好是改變數(shù)值計算方法。例1.4求二次方程ax2+bx+c=0(a≠0)的兩個根。

解求根x1,x2的公式為

,

若b>0,且b2-4ac>0,計算x1時就會產(chǎn)生兩相近數(shù)字相減相互抵消。為了避免相減相消,可將分子有理化,把計算x1的公式改為

例1.5求二次方程x2-16x+1=0的最小正根。

解,

此時x*2僅有一位有效數(shù)字。如果

則此x*2具有3位有效數(shù)字。

例1.6計算A=107(1-cos2°)的值。

解取cos2°≈0.9994,則

A=107(1-cos2°)≈107(1-0.9994)=6×103

僅有一位有效數(shù)字,若利用1-cosx=2sin2

,sin1°≈

0.0175,則

A=107(1-cos2°)=2×(sin21°)×107≈6.13×103

此時,A具有3位有效數(shù)字。常見的避免兩相近數(shù)值相減的變換公式還有:

(1)當x1與x2很接近時,有

(2)當|x|很小時,有

(3)當|x|很大時,有

一般情況下,當f(x)與f(x*)很接近時,可用泰勒公式展開:

取右端的有限項代替左端即可。

2.避免大數(shù)“吃”小數(shù)

在數(shù)值運算中,參加運算的數(shù)有時數(shù)量級會相差很大,而計算機位數(shù)又有限,所以不注意運算次序就有可能出現(xiàn)大數(shù)“吃掉”小數(shù)的現(xiàn)象,從而影響結(jié)果的準確性。避免這個問

題的方法是調(diào)整計算次序,盡量使數(shù)量級相近的數(shù)進行相加或相減運算。

例如,x=105,y=5,z=-105,若按(x+y)+z次序計算,則結(jié)果近似于零,結(jié)果失真;若按(x+z)+y次序計算,結(jié)果接近正確值5(此處的計算是指應(yīng)用計算機進行計算)。又如,求解方程x2-(1019+1)x+1019=0的根時,從分解因式便可知兩根分別為1019和1,但如果用19位計算機求解,則由于c=1019

,b=-(1019+1)≈-1019,按求根公式可得

兩根分別為1019和0,顯然在求1這個根時出現(xiàn)了大數(shù)“吃”小數(shù)的現(xiàn)象。此時,可以用

糾正這個錯誤,由x1=1019得x2=1。一般地,在求解二次方程ax2+bx+c=0時,若,則,若用求根公式:

分別計算兩根x1,x2,就會出現(xiàn)大數(shù)b2“吃掉”小數(shù)4ac的現(xiàn)象。為了防止有效數(shù)字的損失,得到更好的結(jié)果,應(yīng)采用以下公式:

此處,sign(b)是b的符號函數(shù)。

3.避免絕對值太小的數(shù)作除數(shù)

由(1.15)式可知,用絕對值小的數(shù)作除數(shù)時,舍入誤差會增大,故應(yīng)盡量避免。

已知線性方程組的準確解為

但在4位浮點十進制計算中用消去法計算,有:

(1)用除第一個方程減第二個方

程,則屬于用絕對值小的數(shù)作除數(shù),得到的結(jié)果為x1=0,x2=1,顯然嚴重失真。

(2)用第二個方程消去第一個方程中含x1的項,則避免了大數(shù)除小數(shù)的現(xiàn)象,此時得到的結(jié)果為x1=0.500,x2=1,近似程度相當好。

4.注意簡化計算步驟,減少運算次數(shù)

同樣的一個計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論