內容簡介
MATLAB適合多學科、多種工作平台,功能強大、界面友好且開放性很強的互動式大型優秀套用軟體,特別適合科學計算、數值分析、數位訊號處理、自動控制及工程套用等。 本書在第1版廣泛套用的基礎上,吸收眾多讀者的寶貴建議進行改版,大幅完善了圖書內容,以MATLAB R2017b版軟體為平台,注重實際套用,通過大量實例,結合科學計算中的重要問題,從MATLAB的入門知識開始,詳細講解MATLAB圖形處理及圖形用戶界面,Simulink動態系統仿真,線性方程組求解,非線性方程(組)求解,矩陣特徵值求解、最佳化、統計,微分方程數值解,有限元方法編程等,並在每章中都有非常豐富的綜合實例。
圖書目錄
目 錄
第1部分 入 門 知 識
第1章 MATLAB基礎概述 1
1.1 MATLAB科學計算概述 1
1.2 MATLAB科學計算的優勢 3
1.3 MATLAB工作環境 4
1.3.1 操作界面的選單欄 4
1.3.2 桌面平台的工具列 13
1.3.3 桌面組件 14
1.3.4 屬性設定 15
1.3.5 工作空間常用命令 20
1.4 功能模組 20
1.4.1 基礎工具 21
1.4.2 控制 22
1.4.3 實時目標系統 23
1.4.4 套用接口 24
1.4.5 數學與金融 24
1.4.6 信號通信處理及系統開發 26
1.4.7 測試測量 26
1.4.8 其他工具箱 27
1.5 數據輸入/輸出與檔案操作 27
1.5.1 數據輸入與輸出 27
1.5.2 檔案的打開與關閉 30
1.5.3 二進制檔案的讀/寫操作 31
1.5.4 文本檔案的讀/寫操作 32
1.5.5 數據檔案定位 33
1.6 線上幫助系統 34
1.7 MATLAB的學習方法 37
1.8 MATLAB的安裝方法 37
第2章 MATLAB程式設計 43
2.1 程式基礎 43
2.2 數據類型和運算 45
2.2.1 常量和變數 45
2.2.2 數值數據 46
2.2.3 字元數據 48
2.2.4 邏輯數據類型 51
2.2.5 日期和時間 53
2.2.6 單元數組和結構體 54
2.3 數組與矩陣 56
2.3.1 創建數組 56
2.3.2 數組運算 58
2.3.3 數組處理函式 60
實例2-1 判斷數組元素是否在另一數組中出現 68
2.3.4 矩陣及其運算 69
實例2-2 簡單線性方程組求解 70
2.3.5 特殊矩陣 71
實例2-3 利用特殊矩陣快速構造矩陣 72
2.3.6 稀疏矩陣及函式 73
實例2-4 稀疏矩陣函式的巧用 74
2.4 控制語句 76
2.4.1 for循環語句 76
2.4.2 while循環語句 77
2.4.3 if-else-end語句 77
2.4.4 switch-case語句 78
2.4.5 try-catch語句 79
實例2-5 判斷矢量單調性 79
2.5 M函式 81
2.5.1 M函式構造規則 81
2.5.2 輸入/輸出參數 82
2.5.3 函式調用 83
2.5.4 用Feval進行函式運算 83
實例2-6 矢量單調性(包含子函式調用) 86
2.6 程式調試 88
實例2-7 程式調試實例 89
2.7 MATLAB編程技巧 91
2.8 綜合實例 93
實例2-8 漢諾塔問題 93
實例2-9 結構體的處理 94
第3章 繪圖與界面 97
3.1 二維繪圖 97
3.1.1 plot函式及設定 97
實例3-1 繪製二維圖的套用實例 101
3.1.2 子圖 102
3.1.3 特殊二維圖形 103
3.2 三維繪圖 105
3.2.1 三維曲線圖 105
3.2.2 特殊三維圖形 107
實例3-2 繪製三維圖套用實例 109
3.3 列印和導出圖形 110
3.3.1 用選單列印和導出 111
3.3.2 命令行列印和導出 113
3.4 圖形用戶界面 115
3.4.1 圖形用戶界面 115
3.4.2 GUI如何工作 116
3.4.3 創建GUI途徑 116
3.5 用GUIDE創建GUI 117
3.5.1 新建一個GUI 117
3.5.2 添加組件 119
3.5.3 GUI的存儲 122
3.5.4 GUI的編程 123
3.6 選單和工具列 126
3.6.1 選單的創建 126
3.6.2 工具列的創建 129
3.7 組件 130
3.7.1 組件類型 130
3.7.2 組件屬性 131
3.8 綜合實例 132
實例3-3 稀疏矩陣排列圖 132
實例3-4 互動式用戶界面設計實例 133
第4章 Simulink仿真 134
4.1 Simulink概述 134
4.2 Simulink模組庫 136
4.2.1 公共模組庫 136
4.2.2 功能模組庫 136
4.3 創建Simulink模型 137
4.3.1 建立或打開仿真結構圖 137
4.3.2 選單與工具列功能 139
4.3.3 模組處理 139
4.3.4 線的處理 141
4.3.5 運行仿真 142
實例4-1 仿真結構圖套用實例 146
4.4 子系統與封裝 149
4.4.1 子系統 149
實例4-2 子系統設計套用實例 150
4.4.2 封裝 152
實例4-3 封裝設計套用實例 154
4.5 Simulink模型調試 156
4.5.1 Simulink調試器 156
4.5.2 命令行調試 158
4.6 S函式 160
4.6.1 S函式模組 160
4.6.2 S函式工作原理 162
4.6.3 M檔案的S函式編寫 163
4.6.4 M檔案的S函式模板 164
實例4-4 S函式套用實例 166
4.7 綜合實例 168
實例4-5 食餌—捕食者模型 168
實例4-6 S函式種群競爭模型 169
實例4-7 動畫演示單擺運動 172
第2部分 MATLAB在科學計算中的套用
第5章 線性方程組求解 175
5.1 直接解法 176
5.1.1 Gauss消去法 176
實例5-1 Gauss消去法套用實例 177
5.1.2 選主元Gauss消去法 178
實例5-2 選主元Gauss消去法套用實例 178
5.1.3 Cholesky分解法 180
實例5-3 Cholesky分解法套用實例 181
5.2 疊代法 181
5.2.1 Jacobi疊代法 182
實例5-4 Jacobi疊代法套用實例 182
5.2.2 Gauss-Seidel疊代法 183
實例5-5 Gauss-Seidel疊代法套用實例 183
5.2.3 超鬆弛疊代法 184
實例5-6 超鬆弛疊代法套用實例 184
5.2.4 共軛梯度法 185
實例5-7 共軛梯度法套用實例 186
5.2.5 Bicg疊代法 186
實例5-8 Bicg疊代法套用實例 187
5.2.6 Bicgstab疊代法 188
實例5-9 Bicgstab疊代法套用實例 188
5.3 綜合實例 189
實例5-10 Dirichlet問題中的線性方程組求解問題 189
實例5-11 兩點邊值問題差分法線性方程組求解問題 191
第6章 非線性方程(組)求解 194
6.1 二分法 194
實例6-1 二分法套用實例 195
6.2 疊代法 196
6.2.1 牛頓法 196
實例6-2 牛頓法套用實例 197
6.2.2 割線法 198
實例6-3 割線法套用實例 198
6.2.3 擬牛頓法 199
實例6-4 擬牛頓法套用實例 199
6.2.4 Halley疊代法 200
實例6-5 Halley疊代套用實例 200
6.3 綜合實例 201
實例6-6 牛頓法求解非線性方程組 201
實例6-7 Halley疊代法求解非線性方程組 203
第7章 矩陣特徵值求解 205
7.1 非對稱特徵值問題 205
7.1.1 冪法 205
實例7-1 冪法實例 206
7.1.2 反冪法 207
實例7-2 反冪法實例 208
7.1.3 QR方法 210
實例7-3 QR方法實例 210
7.2 對稱特徵值問題 212
7.2.1 對稱QR法 212
實例7-4 對稱QR方法實例 212
7.2.2 Jacobi方法 214
實例7-5 Jacobi方法實例 215
7.2.3 二分法 218
實例7-6 二分法實例 218
7.3 綜合實例 221
實例7-7 病態實陣的特徵值問題 221
實例7-8 二點邊值問題差分離散矩陣特徵值實例 221
第8章 微分方程(組)求解 224
8.1 單步法 224
8.1.1 顯式Euler方法 224
實例8-1 顯式Euler方法實例 225
8.1.2 改進的Euler方法 226
實例8-2 改進的Euler方法實例 227
8.1.3 Runge-Kutta方法 228
實例8-3 Runge-Kutta方法實例 229
8.2 線性多步法 231
8.2.1 Adams外插法 231
實例8-4 Adams外插法實例 232
8.2.2 Adams內插法 234
實例8-5 Adams內插法實例 235
8.3 有限差分法 238
8.3.1 格線剖分 238
8.3.2 數值微分 238
8.3.3 差分定解 239
實例8-6 差分法邊值問題實例 239
8.4 常微分方程組求解 241
實例8-7 微分方程組實例 241
8.5 綜合實例 242
實例8-8 一維拋物型方程差分法求解 242
實例8-9 二維波動方程求解 245
第9章 擬合與插值 249
9.1 插值運算 249
9.1.1 一維插值 249
實例9-1 一維插值實例 252
9.1.2 二維插值 254
實例9-2 二維插值實例 255
9.2 曲線擬合 256
9.2.1 多項式最小二乘擬合 256
實例9-3 多項式擬合實例 257
9.2.2 曲線擬合工具箱 259
實例9-4 曲線擬合工具箱套用實例 261
9.3 綜合實例 262
實例9-5 溫度曲線問題 262
實例9-6 根據山區地形選點海拔確定地貌 264
實例9-7 流水量與供水量問題 265
第10章 最佳化 268
10.1 方程求根 268
10.2 一維最小值問題 271
10.3 多維最小值問題 272
10.4 線性規劃 273
10.4.1 線性規劃問題及數學模型 273
10.4.2 線性規劃求解 274
實例10-1 線性規劃實例 275
10.5 整型規劃 276
實例10-2 整型規劃實例 277
10.6 0-1規劃 282
實例10-3 0-1規劃實例 283
10.7 無約束非線性規劃 284
10.7.1 一維搜尋 285
實例10-4 一維搜尋實例 286
10.7.2 黃金分割法 288
實例10-5 黃金分割法實例 289
10.7.3 牛頓法 290
實例10-6 牛頓法無約束非線性規劃實例 291
10.8 有約束非線性規劃 292
實例10-7 有約束非線性規劃實例 293
10.9 二次規劃 294
實例10-8 二次規劃實例 296
10.10 綜合實例 297
實例10-9 運輸問題 297
實例10-10 供應與選址問題 299
實例10-11 連續投資問題 301
第11章 變換及分析 304
11.1 Fourier變換 304
11.1.1 基本Fourier變換 305
實例11-1 函式的Fourier變換 305
11.1.2 基本Fourier逆變換 306
實例11-2 函式的Fourier逆變換 307
11.1.3 離散Fourier變換 308
11.1.4 快速Fourier變換 309
11.2 Laplace變換 312
11.2.1 Laplace變換 312
實例11-3 函式的Laplace變換 313
11.2.2 Laplace逆變換 314
實例11-4 函式的Laplace逆變換 314
11.2.3 Laplace變換與LTI系統 316
11.3 Z變換 316
11.3.1 Z變換 316
11.3.2 Z逆變換 317
11.3.3 Z變換與離散LTI系統 318
11.4 濾波器的設計 320
11.5 綜合實例 323
實例11-5 濾波器的設計 323
實例11-6 濾波器的套用 327
第12章 機率及統計分析 329
12.1 機率密度函式與分布函式 329
12.2 隨機變數的數字特徵 333
12.2.1 數學期望 333
12.2.2 方差與標準差 335
12.2.3 協方差與相關係數 336
12.2.4 中心矩 338
12.2.5 分布函式的統計量 338
12.3 逆分布函式及隨機數生成 339
12.3.1 逆分布函式 339
12.3.2 隨機數生成 340
實例12-1 隨機數生成 341
12.4 參數估計 342
實例12-2 參數估計實例 345
實例12-3 統計圖實例 350
12.5 假設檢驗 351
12.5.1 單個正態總體均值的檢驗 351
實例12-4 單個正態總體均值假設檢驗實例 352
12.5.2 兩個正態總體均值差的檢驗 353
實例12-5 兩個正態總體均值差假設檢驗實例 354
12.6 回歸分析 354
12.6.1 一元線性回歸分析 355
實例12-6 一元線性回歸分析實例 355
12.6.2 多元線性回歸分析 356
實例12-7 多元線性回歸分析實例 357
12.7 綜合實例 358
實例12-8 岩石成分分析模型 358
實例12-9 槲寄生問題 358
第13章 數值積分及複變函數 361
13.1 數值積分 361
13.1.1 中點公式 361
13.1.2 Newton-Cotes公式 362
13.1.3 Gauss求積公式 364
13.1.4 三角形上的求積公式 365
13.1.5 MATLAB提供的求積函式 366
實例13-1 數值積分公式比較 368
13.2 複變函數 369
13.2.1 複變函數的極限求導和積分 369
13.2.2 複變函數的Taylor展開 370
13.2.3 複變函數圖像 371
13.2.4 留數 371
實例13-2 複變函數留數的計算及套用 372
13.3 綜合實例 372
實例13-3 複變函數洛朗展開 372
實例13-4 三角形上的積分實例 373
第14章 有限元分析法 375
14.1 格線生成 375
14.1.1 格線生成工具 375
14.1.2 數據保存 377
實例14-1 格線生成實例 378
14.2 協調元 379
實例14-2 協調元實例 380
14.3 非協調元 382
實例14-3 非協調元實例 383
14.4 離散格式 384
14.5 構造線性方程組 385
實例14-4 構造線性方程組實例 386
14.6 線性方程組求解及誤差分析 388
實例14-5 線性方程組求解及誤差分析實例 388
14.7 綜合實例 390
實例14-6 變係數泊松方程有限元求解 390
實例14-7 求解Helmholtz方程 392
第15章 工程實例 395
15.1 特徵值問題求解 395
15.1.1 格線生成 395
15.1.2 離散格式 396
15.1.3 線性方程組特徵值問題求解及誤差 397
15.1.4 程式實現 398
實例15-1 特徵值問題求解程式 398
15.2 對流擴散方程求解 400
15.2.1 格線生成 401
15.2.2 離散格式 402
15.2.3 線性方程組求解及誤差 402
15.2.4 程式實現 403
實例15-2 對流擴散方程求解程式 403
15.3 熱傳導方程求解 408
15.3.1 格線生成 408
15.3.2 離散格式 409
15.3.3 線性方程組的求解及誤差 410
15.3.4 程式實現 410
實例15-3 熱傳導方程求解程式 410