第一章 數值分析與科學計算引論
1、數值分析也稱計算科學,是數學科學的一個分支,它研究用計算機求解各種數學問題的數值計算方法及其理論與軟件實現。首先一個數值算法應該是計算機能直接處理的,然后它有可靠的理論分析,接着他要有好的計算復雜度,最后要有數值實驗以作驗證。
2、將連續問題離散化,使得輸出數據是原函數在求解區間上的離散點的近似值,就是“數值問題”,求解數值問題的各種數值方法就是算法。總的來說,算法是求解某個現實問題時的若干步驟,通常是數值化的問題。判斷數值算法的指標是計算復雜度,分為時間復雜度和空間復雜度。
3、誤差來源
-
- 模型誤差
- 截斷誤差
- 舍入誤差
截斷誤差與舍入誤差的區別:前者來自求近似解過程,后者為機器字長有限所致。
4、絕對誤差:e*=x*-x,其中x為准確值,x*為x的近似值。相對誤差:er*=e*/x。有效數字:用科學計數法,記x*=±0.a1a2…an×10m,a1≠0,如果存在盡可能大的n,使得|e(x*)|≤0.5×10m-n,則稱x*有n位有效數字。進而當n=p時,稱x*是有效數。
5、一個算法如果輸入數據有誤差,而在計算過程中舍入誤差不增長,則稱此算法是數值穩定的;否則稱此算法為不穩定的。不使用不穩定算法的原因:盡管初值相當精確,由於誤差傳播是逐步擴大的,因而計算結果不牢靠。
6、計算函數值f(x)時,其相對誤差比值:Cp≈|xf'(x)/f(x)|,也稱為條件數。一般情況下,Cp≥10就認為這事病態問題。病態問題是數值問題自身固有的,與所用算法無關。但是設計算法時是可以避免誤差危害的。
7、迭代法是一種按同一公式重復計算逐次逼近真值的算法。
8、直接利用以直代曲的原則構造方程的迭代法:
9、公元3世紀,劉徽使用“割圓術”和“加權平均的松弛技術”求圓周率,求得π≈3.1416。如果單純用“割圓”算相當於割到3072邊形。劉徽找到ω=36/105,使得S*=S192+36/105(S192-S96),從而求得π≈S*/r2。
10、在計算機上計算∑1/n(調和級數)的部分和時等於某個值,原因是受計算機字長的限制,當n趨於無窮時,1/n趨於0,計算機會取其為0。
11、(1)對數據的微小變化高度敏感是病態的√
(2)高精度運算可以改善問題的病態性×
(3)無論問題是否病態,只要算法穩定都能得到好的近似值×
(4)用一個穩定的算法計算良態問題一定會得到好的近似值×
(5)用一個收斂的迭代法計算良態問題一定會得到好的近似值√
(6)兩個近似數相減必然會使有效數字損失√
(7)計算機上將1000個數量級不同的數相加,不管次序如何結果都是一樣的×
一些不知用處的網站(似乎是數學類的):