1.1編程語言概述1
1.1.1機器語言1
1.1.2匯編語言2
1.1.3高級語言2
1.1.4 C語言3
1.2 C語言的優缺點4
1.2.1 C語言的優勢4
1.2.2 C語言的缺點6
1.3算法概述7
1.3.1算法的基本特征7
1.3.2算法復雜度8
精度1.3.3算法10
1.3.4算法的穩定性14
第二章復雜操作18
2.1復數18的四則運算
2.1.1[算法1]復數乘法18
2.1.2【算法二】復數除法20
2.1.3例5復數的四則運算22
2.2復數的常見函數運算23
2.2.1【算法3】復數的冪是23
2 . 2 . 2[算法4]復數25的N次方根
2 . 2 . 3[算法5]復數指數27
2 . 2 . 4[算法6]復數對數29
2 . 2 . 5[算法7]復數正弦30
2 . 2 . 6[算法8]復數余弦32
2.2.7例6復數的函數運算34
第三章多項式計算37
3.1多項式表示法37
3.1.1系數表示37
3.1.2點符號38
3.1.3【算法9】系數表示轉化為點表示38。
3.1.4[算法10]點表示轉化為系數表示42。
3.1.5示例7系數表示和點表示之間的變換46
3.2多項式運算47
3 . 2 . 1[算法11]復數系數的多項式乘法47
3 . 2 . 2[算法12]實系數多項式乘以50
3 . 2 . 3[算法13]復數系數的多項式除法52
3 . 2 . 4[算法14]實系數的多項式除法54
3.2.5示例8復系數多項式的乘法和除法56
3.2.6示例9實系數多項式的乘法和除法57
3.3多項式的評估59
3 . 3 . 1[算法15]壹元多項式求值59
3 . 3 . 2[算法16]單變量多項式的多組評估60
3 . 3 . 3[算法17]二元多項式評估63
3.3.4示例10壹元多項式求值65
3.3.5示例11二元多項式求值66
第四章矩陣計算68
4.1矩陣乘法68
4.1.1【算法18】實矩陣乘法68
4.1.2【算法19】復數矩陣乘法70
4.1.3例12實矩陣和復矩陣的乘法72
4.2矩陣73的秩和行列式值
4.2.1【算法20】求矩陣的秩73。
4.2.2【算法21】求壹般矩陣的行列式值76
4.2.3【算法22】求對稱正定矩陣80的行列式值
4.2.4例13求矩陣82的秩和行列式值
4.3矩陣求逆84
4.3.1【算法23】求壹般復矩陣84的逆矩陣
4.3.2【算法24】求對稱正定矩陣90的逆
4 . 3 . 3[算法25]求伯利茲矩陣的逆矩陣的Trench方法92
4.3.4示例14驗證矩陣求逆算法97
4.3.5示例15驗證T矩陣求逆算法99
4.4矩陣分解和相似變換102
4 . 4 . 1[算法26]實對稱矩陣的LDL分解102
4 . 4 . 2[算法27]對稱正定實矩陣的喬萊斯基分解104
4.4.3【算法28】壹般實矩陣的全選主成分LU分解107
4 . 4 . 4[算法29]壹般實矩陣的QR分解112
4.4.5【算法30】對稱實矩陣同樣變換為對稱三對角矩陣116。
4.4.6【算法31】壹般實矩陣轉化為上Hessen-Burg矩陣121。
4.4.7例16壹般實矩陣的QR分解126。
4.4.8示例17對稱矩陣127的相似變換
4.4.9示例18壹般實矩陣相似變換129
4.5矩陣特征值130的計算
4 . 5 . 1[算法32]求上Hessen-Burg矩陣所有特征值的QR法130
4.5.2【算法33】求對稱對角矩陣137的所有特征值。
4.5.3【算法34】求對稱矩陣特征值的雅可比法143
4.5.4【算法35】求對稱矩陣特征值的雅可比法147
4.5.5例19求Hessen-Burg矩陣的特征值151。
4.5.6例20分別用兩種雅可比法求對稱矩陣152的特征值。
第5章線性代數方程組的求解154
5.1高斯消去法154
5.1.1【算法36】解復系數方程組的全主分量高斯消元法155
5.1.2【算法37】求解實系數方程組的全主分量高斯消元法160
5.1.3【算法38】求解復系數方程組的全主分量高斯-約當消元法163
5.1.4【算法39】求解實系數方程組的全主分量高斯-約當消元法168
5.1.5【算法40】求解大型稀疏系數矩陣方程組的高斯-喬丹消元法171
5.1.6[算法41]求解三對角方程組的追蹤法174
5.1.7[算法42]求解區域方程的方法176
5.1.8例21解線性實系數方程179
5.1.9例22解線性復系數方程180
5.1.10例23解三對角方程組182
5.2矩陣分解法184
5 . 2 . 1[算法43]求解對稱方程組的LDL分解法184
5.2.2【算法44】求解對稱正定方程組的喬萊斯基分解方法186
5 . 2 . 3[算法45]求解線性最小二乘問題的QR分解法188
5.2.4例24求解對稱正定方程組191
5.2.5示例25求解線性最小二乘問題192
5.3叠代法193
5 . 3 . 1[算法46]病態方程的解193
5 . 3 . 2[算法47]雅可比叠代法197
5 . 3 . 3[算法48]高斯-塞德爾叠代法200
5 . 3 . 4[算法49]超級松弛方法203
5 . 3 . 5[算法50] * * *求解對稱正定方程的軛梯度法205
5 . 3 . 6[算法51]求解托貝列茲方程的萊文森方法209
5.3.7示例26求解病態方程214
5.3.8例27用叠代法求解方程215
5.3.9示例28求解托貝利茲方程217
第六章非線性方程和方程組的求解219
6.1非線性方程求根的基本過程219
6.1.1確定非線性方程實根的初始近似值或根所在的區間219。
6.1.2求非線性方程221的根的精確解
6.2求非線性方程221的實根的方法
6.2 . 1[算法52]二分法221
6 . 2 . 2[算法53]牛頓法223
6 . 2 . 3[算法54]插值方法226
6 . 2 . 4[算法55] Etdin叠代法229
6.2.5示例29使用二分法尋找非線性方程的實根232
6.2.6例30用牛頓法求非線性方程的實根233
6.2.7例31用插值法求非線性方程的實根235
6.2.8示例32通過Etdin叠代法尋找非線性方程的實根237
6.3尋找系數多項式方程238的所有根的方法
6 . 3 . 1[算法56] QR方法238
6.3.2例33用QR法求解多項式的所有根240
6.4非線性方程241的壹組實根的求法
6 . 4 . 1[算法57]梯度法241
6 . 4 . 2[算法58]擬牛頓法244
6.4.3例34用梯度法計算非線性方程組的壹組實根250。
6.4.4例35用擬牛頓法計算非線性方程組的壹組實根252。
第七章代數插值法254
7.1拉格朗日插值多項式254
7.1.1[算法59]線性插值255
7.1.2【算法60】二次拋物線插值256
7.1.3[算法61]全區間插值259
7.1.4示例36拉格朗日插值262
7.2埃爾米特插值263
7 . 2 . 1[算法62] Hermite不等插值263
7 . 2 . 2[算法63]埃爾米特等距插值267
7.2.3示例37埃爾米特插值法270
7.3 Etdin逐步插值271
7 . 3 . 1[算法64] Etdin不等插值272
7 . 3 . 2[算法65] Etdin等距插值275
7.3.3示例38 Etdin插值278
7.4平滑插值279
7.4 . 1[算法66]平滑不等插值279
7 . 4 . 2[算法67]平滑等距插值283
7.4.3示例39平滑插值286
7.5三次樣條插值287
7 . 5 . 1[算法68]第壹邊界條件的三次樣條函數插值287
7 . 5 . 2[算法69]第二邊界條件的三次樣條插值292
7 . 5 . 3[算法70]第三邊界條件的三次樣條插值296
7.5.4示例40樣條插值方法301
7.6連分式插值303
7 . 6 . 1[算法71]連分數插值304
7.6.2示例41驗證連分數插值308的功能
第八章數值積分法309
8.1變步長求積法310
8.1.1[算法72]變步長階梯求積法310
8.1.2[算法73]自適應梯形求積法313
8.1.3[算法74]變步長辛普森求積法316
8.1.4【算法75】變步長辛普森二重積分法318
8.1.5【算法76】菱格積分322
8.1.6示例42用於壹次積分的可變步長積分方法325
8.1.7示例43可變步長的雙重積分辛普森積分法326
8.2高斯求積法328
8 . 2 . 1[算法77]勒讓德-高斯求積法328
8 . 2 . 2[算法78]切比雪夫求積法331
8 . 2 . 3[算法79]拉蓋爾-高斯求積法334
8 . 2 . 4[算法80]厄米-高斯求積法336
8 . 2 . 5[算法81]自適應高斯求積方法337
8.2.6示例44有限區間高斯求積法342
8.2.7示例45半無限區間中的高斯求積法343
8.2.8示例46無限區間345中的高斯求積法
8.3連分數法346
8 . 3 . 1[算法82]計算多重積分的連分數法346
8 . 3 . 2[算法83]計算二重積分的連分數法350
8.3.3示例47通過連分數法進行壹次積分354
8.3.4示例48通過連分數法進行二重積分355
8.4蒙特卡羅方法356
8 . 4 . 1[算法84]壹次積分的蒙特卡羅方法356
8 . 4 . 2[算法85]用於二重積分的蒙特卡羅方法358
8.4.3示例49壹次積分的蒙特卡羅方法360
8.4.4例50二重積分的蒙特卡羅方法361
第九章常微分方程(組)初值問題的求解363
9.1歐拉法364
9.1.1【算法86】固定步長歐拉法364
9.1.2【算法87】變步長歐拉法366
9.1.3【算法88】改進歐拉法370
9.1.4例題51常微分方程數值解的歐拉法372
9.2龍格-庫塔法376
9 . 2 . 1[算法89]固定步長龍格-庫塔法376
9 . 2 . 2[算法90]可變步長龍格-庫塔法379
9 . 2 . 3[算法91]可變步長基爾法383
9.2.4示例52尋找常微分方程初值的龍格-庫塔法386
9.3線性多步法390
9 . 3 . 1[算法92]亞當斯預測修正法390
9 . 3 . 2[算法93]漢明方法394
9 . 3 . 3[算法94]全區間積分的雙邊方法399
9.3.4例53用線性多步法求常微分方程初值的問題401
第10章擬合和近似405
10.1壹元多項式擬合405
10.1.1【算法95】最小二乘擬合405
10.1.2[算法96]最佳壹致逼近的Rimitz方法12
10.1.3例54壹元多項式擬合417
10.2矩形區域曲面擬合419
10 . 2 . 1[算法97]矩形區域中的最小二乘曲面擬合419
10.2.2示例55二元多項式擬合428
第11章特殊功能430
11.1連分式級數和指數積分430
11.1.65438【算法98】連分數系列求值430
11.1.2【算法99】指數積分433
11.1.3例56連分式數列436的求值
11.1.4示例57指數積分求值438
11.2伽瑪函數439
11 . 2 . 1[算法100]伽瑪函數439
11 . 2 . 2[算法101] Beta函數441
11 . 2 . 3[算法102]階乘442
11.2.4示例58伽馬函數和貝塔函數的評估443
11.2.5示例59階乘評估444
11.3不完整的伽瑪函數445
11 . 3 . 1[算法103]不完整的伽瑪函數445
11 . 3 . 2[算法104]誤差函數448
11.3.3【算法105】卡方分布函數450
11.3.4示例60不完全伽馬函數的評估451
11.3.5示例61誤差函數評估452
11.3.6示例62卡方分布函數的評估453
11.4不完整的Beta函數454
11.4 . 1[算法106]不完全Beta函數454
11.4.2【算法107】學生分布函數457
11 . 4 . 3[算法108]累積二項分布函數458
11.4.4示例63不完全Beta函數的評估459
貝塞爾函數461
11 . 5 . 1[算法109]第壹類整數階貝塞爾函數461
11.5.2【算法110】第二類整數階貝塞爾函數466
11 . 5 . 3[算法111]變量第壹類整數階貝塞爾函數469
11 . 5 . 4[算術112]變量二階整數階貝塞爾函數473
11.5.5示例64貝塞爾函數求值476
11.5.6示例65變體貝塞爾函數評估477
11.6卡爾森橢圓積分479
11 . 6 . 1[算法113]第壹類橢圓積分479
11 . 6 . 2[算法114]第壹類橢圓積分的退化形式481
11 . 6 . 3[算法115]第二類橢圓積分483
11 . 6 . 4[算法116]第三類橢圓積分486
11.6.5例66第壹類勒讓德橢圓函數的積分求值490
11.6.6例67第二類勒讓德橢圓函數的積分計算492
第12章極值問題494
12.1壹維極值解法4994
12.1.1[算法117]確定極小點所在的區間。46638.66666666667
12.1.2[算法118]壹維黃金分割搜索499
12.1.3[算法119]壹維Brent方法502
12.1.4【算法120】使用壹階導數的布倫特法506
12.1.5例68用黃金分割搜索法求極值511。
12.1.6例69用布倫特法求極值513
12.1.7例70用帶導數的布倫特法求極值515。
12.2求多元函數的極值517
12 . 2 . 1[算法121]無導數的壹維搜索517
12.2.2【算法122】需要導數519的壹維搜索。
12 . 2 . 3[算法123]鮑威爾方法522
12 . 2 . 4[算法124] ***軛梯度法525
12 . 2 . 5[算法125]擬牛頓法531
12.2.6示例71驗證不帶導數的壹維搜索536
12.2.7例72用鮑威爾算法求極值537
12.2.8例73用* * *軛梯度法求極值539
12.2.9例74用擬牛頓法求極值540
12.3單純形法542
12 . 3 . 1[算術126]在無約束條件下求N維極值的單純形法56438.66666666661
12 . 3 . 2[算術127]在約束條件下求N維極值的單純形法56438 . 36666866661
12 . 3 . 3[算法128]求解線性規劃問題的單純形法56636.68666866661
12.3.4例75用單純形法求無約束條件下N維的極值568
12.3.5例76用單純形法求約束條件下N維的極值569
12.3.6例77解線性規劃問題571
第13章隨機數生成和統計描述574
13.1均勻分布隨機序列574
13.1.1【算法129】生成壹個均勻分布在0和1之間的隨機數574。
13.1.2【算法130】生成壹個均勻分布在0和1之間的隨機數序列576。
13.1.3【算法131】生成任意區間內均勻分布的隨機整數577。
13.1.4【算法132】生成任意區間內均勻分布的隨機整數序列578。
13.1.5示例78生成壹個隨機數序列580,它均勻分布在0和1之間。
13.1.6例79生成任意區間內均勻分布的隨機整數序列581。
13.2正態分布隨機序列582
13.2.1【算法133】生成壹個任意均值和方差正態分布的隨機數582。
13.2.2【算法134】生成壹個任意均值、方差、正態分布的隨機數序列585。
13.2.3例80生成壹個隨機數587,具有任意均值和方差的正態分布。
13.2.4例81生成壹個具有任意均值和方差、正態分布的隨機數序列588。
13.3統計描述589
13.3.1的矩[算法135]分布589
13 . 3 . 2[算法136]同方差t分布檢驗:591
13 . 3 . 3[算法137]具有不同變量的t分布的檢驗56438.68666666661
13 . 3 . 4[算法138]的方差的f檢驗46438.66666666661
13 . 3 . 5[算術139]卡方檢驗56438.66666666661
13.3.6例82計算隨機樣本的矩601
13.3.7例83 t分布檢驗602
13.3.8示例84 F分布測試605
13.3.9例85卡方檢驗算法607
第14章找到609
14.1基本搜索
14.1.1[算法140]有序數組609的二分搜索法
14.1.2[算法141]無序數組同時找到最大元素和最小元素611。
14.1.3【算法142】無序數組求m最小元素613。
14.1.4例86基本搜索615
14.2搜索結構和磁盤文件617
14 . 2 . 1[算法143]無序結構數組的順序搜索617
14 . 2 . 2[算法144]磁盤文件618中記錄的順序搜索
14.2.3實例87在結構數組和文件中搜索619
14.3哈希查找622
14 . 3 . 1[算法145]字符串哈希函數622
14 . 3 . 2[算法146]哈希函數626
14 . 3 . 3[算法147]將元素628插入哈希表。
14 . 3 . 4[算法148]在哈希表中查找元素629
14 . 3 . 5[算法149]刪除哈希表中的元素631。
14.3.6示例88構造哈希表和搜索632
第15章排序636
15.1插入排序636
15.1.1【算法150】直接插入排序636。
15.1.2[算法151]希爾排序637
15.1.3示例89插入排序639
15.2交換排序641
15 . 2 . 1[算法152]冒泡排序641
15 . 2 . 2[算術153]快速排序56638 . 56666666667
15.2.3示例90交換排序644
15.3選擇排序646
15 . 3 . 1[算法154]直接選擇排序646
15 . 3 . 2[算法155]堆排序647
15.3.3示例91選擇排序650
15.4線性時間排序651
15 . 4 . 1[算法156]計數排序651
15 . 4 . 2[算法157]基數排序653
15.4.3示例92線性時間排序656
15.5合並排序657
15 . 5 . 1[算法158]雙向歸並排序658
15.5.2示例93雙向合並排序660
第16章數學變換和過濾662
快速傅立葉變換662
16.1.1[算法159]復數數據的快速傅立葉變換662
16.1.2[算法160]復數數據的快速傅裏葉逆變換666
16.1.3[算法161]實數據快速傅立葉變換669
16.1.4示例94驗證傅立葉變換函數671
16.2其他常見轉換674
16 . 2 . 1[算法162]快速沃爾什變換674
16 . 2 . 2[算術163]快速阿達瑪變換56666 . 26666666667
16 . 2 . 3[算法164]快速余弦變換682
16.2.4示例95驗證沃爾什變換和哈達瑪函數684
16.2.5例96驗證離散余弦變換687的功能
16.3平滑和過濾688
16 . 3 . 1[算法165]五點三次平滑689
16 . 3 . 2[算法166] α-β-γ濾波690
16.3.3示例97驗證五點三次平滑692
16.3.4例98驗證α-β-γ濾波算法693