在各行各業(yè)的工程實(shí)踐中,有大量的科學(xué)計(jì)算工作需要完成。傳統(tǒng)的計(jì)算方式一般需要較長(zhǎng)的周期,相比之下開發(fā)效率極高的MATLAB是一個(gè)更好的選擇。在MATLAB中,編程細(xì)節(jié)被簡(jiǎn)化,繁瑣的實(shí)現(xiàn)過程也被略去,用戶可以將更多精力集中于所需要處理的核心問題上。
MATLAB科學(xué)計(jì)算涉及數(shù)學(xué)、機(jī)械、電子、控制和金融等多個(gè)領(lǐng)域。本書以MATLAB科學(xué)工程計(jì)算為立足點(diǎn),介紹MATLAB在科學(xué)計(jì)算領(lǐng)域中如何運(yùn)用龐大的科學(xué)函數(shù)庫(kù)來解決一些實(shí)際問題。在函數(shù)的選擇上兼顧各函數(shù)的使用頻率和專業(yè)性,力求典型全面。本書可作為MATLAB課程的教學(xué)用書或者線性代數(shù)、概率統(tǒng)計(jì)等課程的教學(xué)輔助書。
趙彬,軟件工程師。沈陽工業(yè)大學(xué)信號(hào)與信息處理碩士,通信工程和工商管理雙學(xué)士。曾獲得沈陽市科學(xué)技術(shù)進(jìn)步獎(jiǎng)一等獎(jiǎng)“工業(yè)機(jī)器人智能化關(guān)鍵技術(shù)研究”。
在國(guó)內(nèi)外會(huì)議、雜志上發(fā)表多篇文章,獲得多項(xiàng)發(fā)明專利。
擅長(zhǎng)機(jī)器人實(shí)時(shí)控制系統(tǒng)設(shè)計(jì)、控制算法的研發(fā)。
第 1章 MATLAB入門 1
1.1 MATLAB簡(jiǎn)介 1
1.1.1 MATLAB的產(chǎn)生和發(fā)展 1
1.1.2 MATLAB的產(chǎn)品構(gòu)成與
特點(diǎn) 2
1.1.3 MATLAB與科學(xué)計(jì)算 4
1.2 MATLAB的安裝開發(fā)環(huán)境、
窗口簡(jiǎ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 學(xué)習(xí)MATLAB的方法 19
第 2章 MATLAB程序設(shè)計(jì) 21
2.1 基本語法 21
2.1.1 標(biāo)識(shí)符 21
2.1.2 數(shù)據(jù)類型 23
2.1.3 運(yùn)算符 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 并行計(jì)算 50
2.3.5 稀疏矩陣 51
2.4 綜合實(shí)例 56
第3章 可視化編程 58
3.1 繪制二維圖形 58
3.1.1 常用繪圖函數(shù) 58
3.1.2 圖形設(shè)置 60
3.1.3 特殊圖形 62
3.1.4 特殊坐標(biāo)系函數(shù) 64
3.2 繪制三維圖形 65
3.3 GUIDE工具 69
3.3.1 設(shè)計(jì)工具 69
3.3.2 句柄圖形對(duì)象 70
3.3.3 GUIDE簡(jiǎn)介 72
3.3.4 創(chuàng)建GUIDE 74
3.3.5 GUI的編程 78
3.3.6 CallBack函數(shù) 80
3.4 綜合實(shí)例 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 多重?cái)?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 中點(diǎn)公式 112
4.3.5 三點(diǎn)公式法和五點(diǎn)
公式法 113
4.3.6 樣條函數(shù)法 116
4.3.7 辛普森(Simpleson)
微分法 117
4.3.8 多項(xiàng)式的微分 121
4.4 綜合實(shí)例 123
第5章 MATLAB插值計(jì)算 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é)點(diǎn)插值 147
5.3 綜合實(shí)例 149
第6章 MATLAB函數(shù)逼近 152
6.1 泰勒逼近 152
6.2 平方逼近 156
6.2.1 平方逼近的原理 156
6.2.2 正交多項(xiàng)式 162
6.2.3 切比雪夫多項(xiàng)式 163
6.2.4 勒讓德多項(xiàng)式 170
6.3 一致逼近 175
6.4 綜合實(shí)例—泰勒展開式
的降次 182
第7章 MATLAB曲線與曲面擬合 185
7.1 二乘擬合 185
7.2 MATLAB擬合函數(shù) 191
7.2.1 多元線性擬合—lsqlin、regress 191
7.2.2 一元多項(xiàng)式擬合 194
7.2.3 非線性擬合 198
7.3 MATLAB擬合工具箱 203
7.4 綜合實(shí)例—臨床藥物
注射問題 213
第8章 MATLAB求解線性方程組 216
8.1 線性方程組 216
8.2 符號(hào)解法 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 綜合實(shí)例 238
第9章 MATLAB求解非線性方程組 242
9.1 二分法 242
9.2 迭代法 244
9.2.1 牛頓法 246
9.2.2 簡(jiǎn)化牛頓法 248
9.2.3 割線迭代法 249
9.2.4 黃金分割法 250
9.2.5 拋物線法 252
9.2.6 不動(dòng)點(diǎn)迭代法 254
9.2.7 牛頓下山法 256
9.3 綜合實(shí)例 257
第 10章 MATLAB概率統(tǒng)計(jì) 261
10.1 概率統(tǒng)計(jì)工具箱 261
10.2 隨機(jī)數(shù)生成 262
10.2.1 生成均勻分布隨機(jī)數(shù) 264
10.2.2 生成正態(tài)分布隨機(jī)數(shù) 266
10.3 隨機(jī)變量的統(tǒng)計(jì)值 267
10.3.1 求期望 267
10.3.2 求方差 269
10.3.3 求標(biāo)準(zhǔn)差 270
10.3.4 矩 272
10.3.5 幾何平均數(shù) 273
10.3.6 算術(shù)平均數(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 相關(guān)系數(shù) 279
10.3.13 其他數(shù)字特征 281
10.4 參數(shù)估計(jì) 281
10.4.1 均勻分布的參數(shù)估計(jì) 282
10.4.2 正態(tài)分布的參數(shù)估計(jì) 283
10.4.3 二項(xiàng)分布的參數(shù)估計(jì) 284
10.4.4 mle —指定分布的
參數(shù)估計(jì) 285
10.5 假設(shè)檢驗(yàn) 286
10.5.1 t檢驗(yàn)法 287
10.5.2 u檢驗(yàn)法 288
10.5.3 秩和檢驗(yàn) 289
10.5.4 符號(hào)秩檢驗(yàn) 290
10.6 回歸 291
10.6.1 線性回歸 291
10.6.2 非線性回歸 292
10.7 綜合實(shí)例 293
第 11章 MATLAB求解微分方程組 298
11.1 常微分方程 298
11.1.1 微分方程組的符號(hào)解 298
11.1.2 歐拉法 299
11.1.3 改進(jìn)的歐拉法 301
11.1.4 龍格—庫(kù)塔法 303
11.1.5 亞當(dāng)斯(Adams)
外插法 307
11.1.6 亞當(dāng)斯(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 綜合實(shí)例 315
第 12章 MATLAB優(yōu)化計(jì)算 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 多目標(biāo)規(guī)劃 337
12.6 貪心算法 339
12.7 遺傳算法 341
12.8 模擬退火算法 345
12.9 粒子群算法 347
12.10 綜合實(shí)例 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)用動(dòng)態(tài)鏈接庫(kù) 376
13.4 綜合實(shí)例 381
第 14章 MATLAB工程計(jì)算案例精粹 387
14.1 Delta并聯(lián)機(jī)器人建模 387
14.1.1 背景介紹 387
14.1.2 問題闡述 388
14.1.3 實(shí)驗(yàn)例程 390
14.2 柴油機(jī)故障診斷 394
14.2.1 問題闡述 394
14.2.2 實(shí)驗(yàn)例程 395
14.3 街頭游戲解謎 398
14.3.1 問題闡述 398
14.3.2 實(shí)驗(yàn)例程 398
14.4 零件參數(shù)的設(shè)計(jì) 400
14.4.1 問題闡述 400
14.4.2 實(shí)驗(yàn)例程 402