本書從高校數(shù)學課程的教學出發(fā),結合科學研究和工程計算的實際,系統(tǒng)詳細地介紹了MATLAB語言的強大功能及其在科學計算領域中的應用。本書的前身――《MATLAB與科學計算》作為工具書已出版3版,受到了廣大讀者的一致好評;為了適應高校的教學需求,本書在內(nèi)容上做了調(diào)整,增加了課后習題和例題,以適應教學和課程學習的不同需求。
本書可作為MATLAB的教學用書,也可作為高等數(shù)學、線性代數(shù)、計算方法、復變函數(shù)、概率統(tǒng)計、數(shù)學規(guī)劃等課程的教學輔導書,還可作為科研人員及工程計算人員學習和使用MATLAB的工具書。
王沫然,
2004.10-2006.02 美國約翰霍普金斯大學機械工程系,博士后 (Postdoctoral Fellow)
2006.03-2008.05 美國加州大學戴維斯分校生物與農(nóng)工系,博士后 (Research Associate)
2008.05-2011.05 美國洛斯阿洛莫斯國家實驗室,奧本海默研究員 (Oppenheimer Fellow)
2007.01-至今 美國約翰霍普金斯大學,訪問科學家 (Visiting Scientist),兼職
2011.03-至今 清華大學航天航空學院工程力學系,教授
第1章 緒論 1
1.1 MATLAB簡介 1
1.1.1 21世紀的科學計算語言 1
1.1.2 MATLAB的發(fā)展歷史 3
1.1.3 MATLAB的應用和網(wǎng)上資源 3
1.2 MATLAB的桌面平臺 4
1.2.1 啟動MATLAB 4
1.2.2 桌面平臺 4
1.3 幫助系統(tǒng) 7
1.3.1 聯(lián)機幫助系統(tǒng) 7
1.3.2 命令窗口查詢幫助 9
1.3.3 聯(lián)機演示系統(tǒng) 11
1.3.4 常用的命令和技巧 12
1.4 MATLAB的搜索路徑與擴展 13
1.4.1 MATLAB的搜索路徑 14
1.4.2 擴展MATLAB的搜索路徑 15
第2章 數(shù)值計算功能 17
2.1 MATLAB的數(shù)據(jù)類型 17
2.1.1 變量與常量 17
2.1.2 數(shù)字變量 18
2.1.3 字符串 21
2.1.4 矩陣 24
2.1.5 單元型變量 24
2.1.6 結構型變量 26
2.2 向量及其運算 28
2.2.1 向量的生成 28
2.2.2 向量的基本運算 30
2.2.3 點積、叉積及混合積的實現(xiàn) 30
2.3 矩陣及其運算 31
2.3.1 矩陣的生成 31
2.3.2 矩陣的基本數(shù)學運算 32
2.3.3 矩陣的基本函數(shù)運算 38
2.3.4 矩陣分解函數(shù) 43
2.3.5 特殊矩陣的生成 45
2.3.6 矩陣的一些特殊操作 47
2.4 數(shù)組及其運算 50
2.4.1 基本數(shù)組運算 50
2.4.2 數(shù)組函數(shù)運算 52
2.4.3 數(shù)組邏輯運算 52
2.5 多項式運算 54
2.5.1 多項式的表示方法 54
2.5.2 多項式運算 55
習題 58
第3章 符號運算功能 65
3.1 符號表達式的生成 66
3.2 符號和數(shù)值之間的轉(zhuǎn)換 67
3.3 符號函數(shù)的運算 68
3.3.1 復合函數(shù)運算 68
3.3.2 反函數(shù)的運算 69
3.4 符號矩陣的創(chuàng)立 69
3.4.1 使用sym函數(shù)直接創(chuàng)建符號
矩陣 69
3.4.2 用創(chuàng)建子陣的方法創(chuàng)建符號
矩陣 69
3.4.3 將數(shù)值矩陣轉(zhuǎn)化為符號矩陣 70
3.4.4 符號矩陣的索引和修改 70
3.5 符號矩陣的運算 70
3.5.1 基本運算 70
3.5.2 矩陣分解 72
3.5.3 矩陣的空間運算 73
3.5.4 符號矩陣的簡化 74
3.6 符號微積分 76
3.6.1 符號極限 76
3.6.2 符號積分 77
3.6.3 符號微分和差分 77
3.7 符號代數(shù)方程求解 79
3.7.1 線性方程組的符號解法 79
3.7.2 非線性方程的符號解法 80
3.8 符號微分方程求解 81
3.9 符號函數(shù)的二維圖 81
3.9.1 符號函數(shù)的簡易繪圖函數(shù) ezplot 81
3.9.2 繪制函數(shù)圖函數(shù)fplot 82
3.10 圖示化函數(shù)計算器 83
3.10.1 輸入框的控制操作 83
3.10.2 命令按鈕的操作 84
習題 85
第4章 圖形處理功能 89
4.1 二維圖形 89
4.1.1 基本繪圖命令 89
4.1.2 特殊的二維圖形函數(shù) 93
4.2 三維圖形 98
4.2.1 基本繪圖命令 98
4.2.2 特殊的三維圖形函數(shù) 102
4.3 四維表現(xiàn)圖 105
4.4 圖形處理的基本技術 106
4.4.1 圖形的控制 106
4.4.2 圖形的標注 109
4.4.3 圖形的保持與子圖 115
4.5 圖形處理的高級技術 116
4.5.1 顏色映像 116
4.5.2 視角與光照 122
4.5.3 圖像處理 127
4.5.4 圖形的輸出 129
4.6 圖形窗口 129
4.6.1 圖形窗口的菜單操作 129
4.6.2 圖形窗口的工具欄 130
4.7 句柄圖形 131
4.7.1 句柄圖形的層次結構 131
4.7.2 句柄的訪問 132
4.7.3 句柄的操作 132
4.8 圖形用戶界面操作GUI 137
4.8.1 GUI設計工具簡介 137
4.8.2 GUI向?qū)гO計 143
4.8.3 GUI程序設計 146
4.9 動畫 153
習題 155
第5章 程序設計 161
5.1 M文件介紹 161
5.1.1 M文件的特點與形式 161
5.1.2 命令式文件 162
5.1.3 函數(shù)式文件 163
5.2 控制語句 164
5.2.1 循環(huán)語句 164
5.2.2 選擇語句 166
5.2.3 分支語句switch-case-
otherwise 167
5.2.4 人機交互語句 168
5.3 函數(shù)變量及變量作用域 170
5.4 子函數(shù)與局部函數(shù) 172
5.5 程序設計的輔助函數(shù) 173
5.6 程序設計的優(yōu)化 176
5.7 程序調(diào)試 177
5.7.1 M文件錯誤的種類 177
5.7.2 錯誤的識別 178
5.7.3 調(diào)試過程 179
5.8 M文件的調(diào)用記錄 180
5.9 函數(shù)句柄 181
5.9.1 函數(shù)句柄的創(chuàng)建和顯示 181
5.9.2 函數(shù)句柄的調(diào)用和操作 182
習題 182
第6章 應用程序接口 189
6.1 應用程序接口介紹 189
6.1.1 MEX文件 189
6.1.2 MATLAB計算引擎 190
6.1.3 MAT文件 191
6.2 MEX文件的編輯與使用 191
6.2.1 C語言MEX文件 191
6.2.2 FORTRAN語言MEX文件 194
6.3 MATLAB計算引擎 194
6.3.1 C語言MATLAB計算引擎 194
6.3.2 FORTRAN語言MATLAB
計算引擎 196
6.4 MAT文件的編輯與使用 198
6.4.1 MATLAB中的數(shù)據(jù)處理 198
6.4.2 C語言MAT文件 198
6.4.3 FORTRAN語言MAT文件 201
6.5 創(chuàng)建獨立應用程序 203
6.5.1 轉(zhuǎn)化為C/C++語言程序 204
6.5.2 創(chuàng)建獨立的可執(zhí)行程序 205
習題 206
第7章 MATLAB在計算方法中的應用 207
7.1 插值與擬合 207
7.1.1 Lagrange插值 207
7.1.2 Runge現(xiàn)象的產(chǎn)生和分段
插值 208
7.1.3 Hermite插值 211
7.1.4 樣條插值 212
7.1.5 最小二乘法擬合 215
7.1.6 快速Fourier變換簡介 217
7.2 積分與微分 219
7.2.1 Newton-Cotes系列數(shù)值求積
公式 219
7.2.2 Gauss 求積公式 226
7.2.3 Romberg求積公式 228
7.2.4 Monte-Carlo方法簡介 229
7.2.5 符號積分 230
7.2.6 微分和差分 230
7.3 求解線性方程組 232
7.3.1 直接解法 232
7.3.2 迭代解法的幾種形式 234
7.3.3 線性方程組的符號解法 238
7.3.4 稀疏矩陣技術 239
7.4 求解非線性方程組 243
7.4.1 非線性方程的解法 243
7.4.2 方程組解法 247
7.4.3 非線性方程(組)的符號
解法 249
7.5 特征值問題 249
7.5.1 特征值函數(shù) 249
7.5.2 廣義特征值分解 250
7.5.3 其他分解 251
7.6 常微分方程的解法 252
7.6.1 歐拉方法 252
7.6.2 Runge-Kutta方法 255
7.6.3 剛性問題的解 257
7.6.4 常微分方程的符號解 259
習題 259
第8章 MATLAB在復變函數(shù)中的應用 265
8.1 復數(shù)和復矩陣的生成 265
8.1.1 復數(shù)的生成 265
8.1.2 創(chuàng)建復矩陣 265
8.2 復數(shù)的運算 266
8.2.1 復數(shù)的實部和虛部 266
8.2.2 共軛復數(shù) 266
8.2.3 復數(shù)的模和輻角 266
8.2.4 復數(shù)的乘除法 266
8.2.5 復數(shù)的平方根 267
8.2.6 復數(shù)的冪運算 267
8.2.7 復數(shù)的指數(shù)和對數(shù)運算 267
8.2.8 復數(shù)的三角函數(shù)運算 267
8.2.9 復數(shù)方程求根 268
8.3 留數(shù) 268
8.4 Taylor級數(shù)展開 269
8.5 Laplace變換及其逆變換 270
8.6 Fourier變換及其逆變換 272
習題 273
第9章 MATLAB在概率統(tǒng)計中的應用 275
9.1 統(tǒng)計量的數(shù)字特征 275
9.1.1 簡單數(shù)學期望和幾種均值 275
9.1.2 數(shù)據(jù)比較 276
9.1.3 累積與累和 277
9.1.4 方差和標準差 277
9.1.5 偏斜度和峰度 278
9.1.6 協(xié)方差和相關系數(shù) 279
9.1.7 協(xié)方差矩陣 280
9.2 常用的統(tǒng)計分布量 280
9.2.1 給定分布下的期望和方差 280
9.2.2 概率密度函數(shù) 282
9.2.3 概率值函數(shù)(概率累積函數(shù)) 284
9.2.4 分值點函數(shù)(逆概率累積
函數(shù)) 285
9.2.5 隨機數(shù)生成函數(shù) 286
9.3 參數(shù)估計 287
9.3.1 正態(tài)分布參數(shù)估計 287
9.3.2 指數(shù)最大似然參數(shù)估計 289
9.4 區(qū)間估計 289
9.4.1 Gauss-Newton法的非線性
最小二乘數(shù)據(jù)擬合 289
9.4.2 非線性擬合和預測的交互
圖形工具 289
9.4.3 非線性最小二乘預測的置信
區(qū)間 290
9.4.4 非線性模型的參數(shù)置信區(qū)間 290
9.4.5 非負最小二乘 290
9.5 假設檢驗 290
9.5.1 單個總體N(?,?2)均值?的
檢驗 291
9.5.2 兩個正態(tài)總體均值差的檢驗
(t檢驗) 292
9.5.3 秩和檢驗 293
9.6 方差分析和回歸診斷 294
9.6.1 方差分析 294
9.6.2 回歸分析 296
9.7 統(tǒng)計圖 297
9.7.1 直方圖 297
9.7.2 角度扇形圖 297
9.7.3 正態(tài)分布圖 297
9.7.4 參考線 298
9.7.5 顯示數(shù)據(jù)采樣的盒圖 298
9.7.6 對離散圖形加最小二乘法
直線 299
9.7.7 QQ圖 299
習題 300
第10章 MATLAB在運籌優(yōu)化問題中的
應用 306
10.1 線性優(yōu)化 306
10.2 二次優(yōu)化 309
10.3 非線性無約束優(yōu)化問題 311
10.3.1 fminbnd 311
10.3.2 fminsearch 312
10.3.3 fminunc 313
10.3.4 options選項 315
10.4 最小二乘優(yōu)化問題 317
10.4.1 最小二乘優(yōu)化 317
10.4.2 最小二乘曲線/面擬合 319
10.5 非線性約束問題優(yōu)化 320
10.5.1 函數(shù)介紹 320
10.5.2 應用舉例 320
10.6 多任務“目標-達到”問題的
優(yōu)化 322
10.7 非線性方程的優(yōu)化解 324
習題 325
附錄A MATLAB的設置 333
附錄B 主要函數(shù)命令注釋 342
參考文獻 365