在各行各業(yè)的工程實踐中,有大量的科學計算工作需要完成。傳統(tǒng)的計算方式一般需要較長的周期,相比之下開發(fā)效率極高的MATLAB是一個更好的選擇。在MATLAB中,編程細節(jié)被簡化,繁瑣的實現(xiàn)過程也被略去,用戶可以將更多精力集中于所需要處理的核心問題上。
MATLAB科學計算涉及數(shù)學、機械、電子、控制和金融等多個領域。本書以MATLAB科學工程計算為立足點,介紹MATLAB在科學計算領域中如何運用龐大的科學函數(shù)庫來解決一些實際問題。在函數(shù)的選擇上兼顧各函數(shù)的使用頻率和專業(yè)性,力求典型全面。本書可作為MATLAB課程的教學用書或者線性代數(shù)、概率統(tǒng)計等課程的教學輔助書。
趙彬,軟件工程師。沈陽工業(yè)大學信號與信息處理碩士,通信工程和工商管理雙學士。曾獲得沈陽市科學技術進步獎一等獎“工業(yè)機器人智能化關鍵技術研究”。
在國內(nèi)外會議、雜志上發(fā)表多篇文章,獲得多項發(fā)明專利。
擅長機器人實時控制系統(tǒng)設計、控制算法的研發(fā)。
第 1章 MATLAB入門 1
1.1 MATLAB簡介 1
1.1.1 MATLAB的產(chǎn)生和發(fā)展 1
1.1.2 MATLAB的產(chǎn)品構成與
特點 2
1.1.3 MATLAB與科學計算 4
1.2 MATLAB的安裝開發(fā)環(huán)境、
窗口簡介 4
1.2.1 MATLAB的安裝 4
1.2.2 MATLAB的集成開發(fā)
環(huán)境 9
1.2.3 MATLAB的窗口 10
1.3 MATLAB程序及其幫助系統(tǒng) 13
1.3.1 搜索路徑 13
1.3.2 M文件 14
1.3.3 幫助系統(tǒng) 16
1.3.4 學習MATLAB的方法 19
第 2章 MATLAB程序設計 21
2.1 基本語法 21
2.1.1 標識符 21
2.1.2 數(shù)據(jù)類型 23
2.1.3 運算符 35
2.1.4 流程控制語句 37
2.1.5 矩陣與數(shù)組 41
2.1.6 腳本與函數(shù) 43
2.2 文件I/O 44
2.2.1 使用load/save 44
2.2.2 讀寫文本文件 45
2.2.3 讀寫圖像文件 47
2.3 MATLAB編程技巧 49
2.3.1 高效開發(fā)技巧 49
2.3.2 提高代碼效率 49
2.3.3 向量化編程 50
2.3.4 并行計算 50
2.3.5 稀疏矩陣 51
2.4 綜合實例 56
第3章 可視化編程 58
3.1 繪制二維圖形 58
3.1.1 常用繪圖函數(shù) 58
3.1.2 圖形設置 60
3.1.3 特殊圖形 62
3.1.4 特殊坐標系函數(shù) 64
3.2 繪制三維圖形 65
3.3 GUIDE工具 69
3.3.1 設計工具 69
3.3.2 句柄圖形對象 70
3.3.3 GUIDE簡介 72
3.3.4 創(chuàng)建GUIDE 74
3.3.5 GUI的編程 78
3.3.6 CallBack函數(shù) 80
3.4 綜合實例 81
第4章 MATLAB求微分與積分 89
4.1 極限 89
4.2 數(shù)值積分 92
4.2.1 Int求積分 92
4.2.2 梯形法求積分 96
4.2.3 辛普森(Simpleson)
積分法 98
4.2.4 重積分辛普森
(Simpleson)法 101
4.2.5 多重數(shù)值積分法 103
4.2.6 積分變換 104
4.3 數(shù)值微分 107
4.3.1 Diff求微分 107
4.3.2 梯度 109
4.3.3 jacobian函數(shù) 110
4.3.4 中點公式 112
4.3.5 三點公式法和五點
公式法 113
4.3.6 樣條函數(shù)法 116
4.3.7 辛普森(Simpleson)
微分法 117
4.3.8 多項式的微分 121
4.4 綜合實例 123
第5章 MATLAB插值計算 124
5.1 一維插值 124
5.1.1 拉格朗日插值 124
5.1.2 牛頓插值 129
5.1.3 埃爾米特插值 131
5.1.4 分段低次插值 135
5.1.5 三次樣條插值 138
5.2 二維插值 140
5.2.1 近鄰插值 141
5.2.2 分片線性插值 141
5.2.3 雙線性插值 142
5.2.4 雙三次插值 143
5.2.5 散亂節(jié)點插值 147
5.3 綜合實例 149
第6章 MATLAB函數(shù)逼近 152
6.1 泰勒逼近 152
6.2 平方逼近 156
6.2.1 平方逼近的原理 156
6.2.2 正交多項式 162
6.2.3 切比雪夫多項式 163
6.2.4 勒讓德多項式 170
6.3 一致逼近 175
6.4 綜合實例—泰勒展開式
的降次 182
第7章 MATLAB曲線與曲面擬合 185
7.1 二乘擬合 185
7.2 MATLAB擬合函數(shù) 191
7.2.1 多元線性擬合—lsqlin、regress 191
7.2.2 一元多項式擬合 194
7.2.3 非線性擬合 198
7.3 MATLAB擬合工具箱 203
7.4 綜合實例—臨床藥物
注射問題 213
第8章 MATLAB求解線性方程組 216
8.1 線性方程組 216
8.2 符號解法 217
8.3 求逆法 221
8.4 矩陣分解法 223
8.4.1 Cholesky分解 223
8.4.2 LU分解 225
8.4.3 QR分解 227
8.5 迭代法 228
8.5.1 Gauss-Seidel迭代法 229
8.5.2 SOR超松弛迭代法 231
8.5.3 Jacobi迭代法 234
8.5.4 Bicg迭代法 236
8.6 綜合實例 238
第9章 MATLAB求解非線性方程組 242
9.1 二分法 242
9.2 迭代法 244
9.2.1 牛頓法 246
9.2.2 簡化牛頓法 248
9.2.3 割線迭代法 249
9.2.4 黃金分割法 250
9.2.5 拋物線法 252
9.2.6 不動點迭代法 254
9.2.7 牛頓下山法 256
9.3 綜合實例 257
第 10章 MATLAB概率統(tǒng)計 261
10.1 概率統(tǒng)計工具箱 261
10.2 隨機數(shù)生成 262
10.2.1 生成均勻分布隨機數(shù) 264
10.2.2 生成正態(tài)分布隨機數(shù) 266
10.3 隨機變量的統(tǒng)計值 267
10.3.1 求期望 267
10.3.2 求方差 269
10.3.3 求標準差 270
10.3.4 矩 272
10.3.5 幾何平均數(shù) 273
10.3.6 算術平均數(shù) 274
10.3.7 中位數(shù) 274
10.3.8 值差 275
10.3.9 調(diào)和平均數(shù) 276
10.3.10 樣本的偏斜度 277
10.3.11 協(xié)方差 278
10.3.12 相關系數(shù) 279
10.3.13 其他數(shù)字特征 281
10.4 參數(shù)估計 281
10.4.1 均勻分布的參數(shù)估計 282
10.4.2 正態(tài)分布的參數(shù)估計 283
10.4.3 二項分布的參數(shù)估計 284
10.4.4 mle —指定分布的
參數(shù)估計 285
10.5 假設檢驗 286
10.5.1 t檢驗法 287
10.5.2 u檢驗法 288
10.5.3 秩和檢驗 289
10.5.4 符號秩檢驗 290
10.6 回歸 291
10.6.1 線性回歸 291
10.6.2 非線性回歸 292
10.7 綜合實例 293
第 11章 MATLAB求解微分方程組 298
11.1 常微分方程 298
11.1.1 微分方程組的符號解 298
11.1.2 歐拉法 299
11.1.3 改進的歐拉法 301
11.1.4 龍格—庫塔法 303
11.1.5 亞當斯(Adams)
外插法 307
11.1.6 亞當斯(Adams)
內(nèi)插法 308
11.2 偏微分方程——有限差分法 309
11.2.1 網(wǎng)格剖分 309
11.2.2 數(shù)值微分 310
11.3 PDE工具箱 311
11.3.1 PDE支持的方程 311
11.3.2 PDE使用說明 312
11.4 綜合實例 315
第 12章 MATLAB優(yōu)化計算 320
12.1 MATLAB優(yōu)化工具箱的函數(shù) 320
12.1.1 優(yōu)化工具箱 321
12.2 線性規(guī)劃 329
12.3 0-1整數(shù)規(guī)劃 333
12.4 二次規(guī)劃 334
12.5 多目標規(guī)劃 337
12.6 貪心算法 339
12.7 遺傳算法 341
12.8 模擬退火算法 345
12.9 粒子群算法 347
12.10 綜合實例 347
第 13章 C/C++與MATLAB混合編程 353
13.1 C/C++與MATLAB混合調(diào)用
的方法 353
13.2 MATLAB調(diào)用C/C++ 354
13.2.1 MATLAB的MEX文件 355
13.2.2 C-MEX文件的使用 356
13.3 C/C++調(diào)用MATLAB 357
13.3.1 C/C++調(diào)用引擎 357
13.3.2 C/C++調(diào)用Matcom 363
13.3.3 C/C++調(diào)用COM 370
13.3.4 C/C++調(diào)用動態(tài)鏈接庫 376
13.4 綜合實例 381
第 14章 MATLAB工程計算案例精粹 387
14.1 Delta并聯(lián)機器人建模 387
14.1.1 背景介紹 387
14.1.2 問題闡述 388
14.1.3 實驗例程 390
14.2 柴油機故障診斷 394
14.2.1 問題闡述 394
14.2.2 實驗例程 395
14.3 街頭游戲解謎 398
14.3.1 問題闡述 398
14.3.2 實驗例程 398
14.4 零件參數(shù)的設計 400
14.4.1 問題闡述 400
14.4.2 實驗例程 402