- 地下水流數值模擬基礎
- 杜新強編著
- 1478字
- 2021-10-25 20:26:41
緒言
0.1 數值計算方法概述
0.1.1 數值計算的重要意義
17世紀是數學發展史上一個劃時代的時期,當我們今天享受著高科技成果所帶來的各種便利條件時,應該意識到笛卡爾(Descartes,1596—1650)和牛頓(Newton,1642—1727)這兩位卓越先驅人物所作出的具有劃時代意義的貢獻。
首先,笛卡爾創立了平面解析幾何,使我們能夠用數學形式描述動態變化著的客觀對象,接下來牛頓和萊布尼茲(Leibniz)等人創立了微積分學,為我們研究連續變量的變化規律給出了完整的方法體系。隨后,又在這個基礎上產生了更多的數學分支以及相關的一些交叉學科分支。
由于數學研究的范圍在不斷擴大,而且研究的對象更為復雜,一個伴隨的問題就是相應的數值計算更加困難。如果不解決與理論方法平行的數值計算問題,再好的數學理論也難以發揮應有的作用。
[例0.1] 解線性方程組Ax=b,x∈Rn,A為n階可逆方陣,用著名的Crammer法則求解,行列式的計算按原始的方法計算,假設計算機每秒可算1億次乘法運算,我們來估計機器所花的時間。
Cramer法則告訴我們線性代數方程組有解的充分必要條件以及如何求解。
計算一個行列式所需要的乘法數共n!項,每項n個數相乘,故共需n!(n-1)次乘法;完成計算的乘法數共n+1個行列式,故共需(n2-1)n!次乘法。
行列式:將每一行、每一列在每一次都取一個數相乘,得到的結果再相加。
當n=10時,需要3592561200(次)≈3.59251(s)
當n=100時,需9.33169×10161(次)≈9.33169×10153(s)≈2.95906×10146(年)
因此,當n較大時,采用該方法進行計算是不可行的。
這表示在相應的計算機生產工藝條件下,一個好的數學方法(公式)未必是一個有效的計算方法。而方法的有效性將直接影響到計算的效率,我們的任務就是要構造有效的數值計算方法。
[例0.2] 設多項式為p(x)=(x-2)9,我們來計算其在區間[1.92,2.08]上的值。
令:p(x)=(x-2)9
q(x)=x9-18x8+144x7-672x6+2016x5-4032x4+5376x3-4608x2+2304x-512
圖0.1.1分別展示了兩個算式的不同計算機模擬結果,由此可見:即使數學上的恒等公式,用計算機來計算,結果也是不一樣的。

圖0.1.1 不同計算方法結果對比
科學的計算方法與實驗理論相輔相成,已成為第三種科學方法,而不僅僅是數學或計算機學科的一個部分。數值計算的重要性表現在兩方面:一方面促進了計算方法的研究,另一方面也促進了計算工具的發展。隨著20世紀40年代中期人類第一臺電子數字計算機的問世,數值計算終于有了理想的支撐工具。
堅實的數學理論、科學的計算方法以及先進的計算工具的有機結合,為我們打造了一個無比堅實的工作平臺。完全可以這么講,今天幾乎所有的高科技成果都是在這個平臺上產生的。正是因為有了這樣一個平臺,使得我們這個時代的科學技術能夠飛速發展。
0.1.2 數值計算方法的涵義
數值計算方法,過去有不少人稱之為數值分析,現在更多的人稱之為科學計算,其核心思想就是通過有限步的加、減、乘、除四則運算得到某個連續變量的近似值。追根溯源,它是微積分學孕育出來的一個數學分支。
0.1.3 數值計算的理論基礎
極限理論和泰勒級數展開式為近似計算提供了理論基礎。
(1)極限理論。
如果一個無限序列{xn}收斂于某個極限值x*,那么可用這個序列中的某個元素xN作為x*的近似值。只要序號N取得足夠大,那么xN與x*的差值|xN-x*|就不會超過某個預先給定的充分小的正數ε。
(2)泰勒級數展開式。
若函數f(x)在x0的某一鄰域內具有直到(n+1)階的導數,則在該鄰域內f(x)的n階泰勒公式為

它可以把某個充分光滑的實函數f(x)表示為一個項數為無限多的多項式,再利用極限理論,用這個多項式的前n項(n足夠大)近似表示f(x)(所得的誤差足夠小,滿足精度要求),從而可以通過有限步四則運算得到f(x)的近似值。