宣傳語
實例豐富、高效實用
語言簡練、通俗易懂
內容詳實、全面系統
內 容 簡 介
全書從實用的角度出發,通過大量典型的實例,詳細介紹了MATLAB在數學數值計算與統計分析方面的套用方法與技巧。全書分兩篇共10章,第一篇為基礎技術,介紹了MATLAB的用戶界面與工具箱、數學基本運算、圖形繪製與顯示、程式設計,以及數值計算與數據分析基礎。讀者通過學習,將熟悉MATLAB的基本功能和操作,為後面的學習打下基礎。第二篇為MATLAB實例,結合48個工程實例,按照入門、提高、經典的介紹順序,從行業角度介紹了MATLAB 在數學與數值計算、財務金融計算、最最佳化計算以及數據統計分析方面的套用流程、方法和操作技巧。這些實例全部來自於實踐,代表性和指導性強,讀者學習後舉一反三,可以快速上手,完成從新手到高手的技能飛躍。
本書還提供了書中所有實例的素材和源檔案,供讀者學習使用。本書適合MATLAB的國中級讀者使用,既可作為高校相關專業學生的理想教材,同時也是從事工程計算、財務金融、統計分析人員的學習寶典。
前 言
MATLAB是由MathWorks公司開發的一種用於數值計算及可視化圖形處理的工程套用軟體,在數值計算和統計分析方面具有很深的套用。目前市場上的同類MATLAB書中,講解數值計算和統計分析的基礎技術較多,但是以專題和實例形式講解的較少,工程實用性不強,本書為了彌補這種不足而編寫。
本書以解決實際問題為綱要,結合作者多年工程實踐的經驗,深入淺出地介紹了MATLAB在數學數值計算和統計分析方面的套用方法和技巧。全書共分10章,主要內容如下:
第1章對MATLAB進行概述,主要內容包括系統安裝、用戶界面,並提供了MATLAB的學習技巧,對讀者的入門學習具有很好的指導作用。
第2~6章為MATLAB基礎技術,重點介紹了MATLAB的工具箱、數值計算與統計分析、符號計算、基礎圖形繪製以及程式設計。為了加深讀者學習和理解,書中結合了大量小範例來介紹,邊講邊練,讀者通過學習可以快速上手和提高。
第7~10章為MATLAB 套用實例,結合48個典型工程實例,按照入門、提高、經典的介紹順序,從行業角度介紹了MATLAB 在數學與數值計算、財務金融計算、最最佳化計算以及數據統計分析方面的套用流程、方法和操作技巧。這些實例全部來自於實踐,具有較強的代表性和借鑑性,讀者學習後舉一反三,將可以完成從新手到高手的技能飛躍。
與同類型書相比,本書的主要特色如下:
(1)本書以全新的MATLAB 2010為寫作平台,結合不同難易程度的工程實例,按照循序漸進的方式進行講解,大大降低了讀者學習的門檻,提高了讀者的學習效率。
(2)本書48個實例豐富且典型,涉及數學與數值計算、財務金融計算、最最佳化計算以及數據統計分析領域,並以項目原理、套用流程和操作技巧的方式講述,便於讀者學習後舉一反三,快速上手,並解決實際問題。
本書適合MATLAB的國中級讀者使用,既可作為高校相關專業學生的理想教材,同時還是從事工程計算、經濟金融、統計分析人員的學習寶典書。
本書主要由陳超編寫,另外參與編寫的人還有:趙汶、唐清善、邱寶良、李寧宇、嚴劍忠、黃小寬、付軍鵬、張廣安、賈素龍、金平、徐春林、謝正義、鄭貞平等。在此一併向他們表示感謝。
由於時間倉促,再加之作者的水平有限,書中難免存在一些不足之處,歡迎廣大讀者批評和指正。
作 者
目 錄
第一篇 基礎技術
第1章 MATLAB概述 2
1.1 MATLAB系統簡介 2
1.1.1 MATLAB系統的產生與發展 2
1.1.2 MATLAB系統主要特點 4
1.1.3 MATLAB系統共生產品 4
1.1.4 MATLAB系統組成 6
1.1.5 MATLAB系統主要功能 9
1.2 MATLAB的安裝和用戶界面 11
1.2.1 MATLAB系統安裝資源需求 11
1.2.2 MATLAB系統安裝 12
1.2.3 MATLAB用戶界面 20
1.3 MATLAB入門實例 27
1.3.1 命令行程式 27
1.3.2 MATLAB繪圖 29
1.3.3 M檔案的編寫 30
1.3.4 GUI實例 32
1.3.5 使用Simulink進行系統仿真 32
1.4 MATLAB學習技巧 33
1.5 本章小結 34
第2章 MATLAB工具箱 35
2.1 MATLAB工具箱概述 35
2.2 統計工具箱 41
2.2.1 機率分布 42
2.2.2 參數估計 45
2.2.3 描述性統計 46
2.2.3.1 中心趨勢(位置) 46
2.2.3.2 散布度量 48
2.2.3.3 缺失數據處理 51
2.2.3.4 百分位數及其圖形描述 52
2.2.3.5 綜合示例 54
2.2.4 假設檢驗 56
2.2.5 統計繪圖 58
2.3 最佳化工具箱 61
2.3.1 最最佳化問題 61
2.3.2 線性規劃問題 62
2.3.3 無約束最最佳化問題 64
2.3.4 有約束最最佳化問題 66
2.3.5 目標規劃問題 68
2.3.6 最大最小化問題 69
2.4 曲線擬合工具箱 71
2.4.1 數據預處理 72
2.4.1.1 輸入數據集 72
2.4.1.2 數據的查看 75
2.4.1.3 數據的預處理 76
2.4.2 曲線擬合 78
2.4.2.1 曲線擬合相關函式 79
2.4.2.2 曲線的參數擬合 81
2.4.2.3 曲線的非參數擬合 86
2.5 其他工具箱 90
2.6 本章小結 91
第3章 MATLAB數值計算 92
3.1 變數和數據 92
3.1.1 數據類型 92
3.1.2 數據 92
3.1.3 變數 94
3.2 矩陣和數組 95
3.2.1 矩陣輸入 95
3.2.2 矩陣元素和操作 98
3.2.3 字元串 104
3.2.4 矩陣和數組運算 108
3.2.5 多維數組 118
3.3 稀疏矩陣 121
3.3.1 稀疏矩陣的建立 121
3.3.2 稀疏矩陣的存儲空間 124
3.3.3 稀疏矩陣的運算 125
3.4 多項式 126
3.4.1 多項式的求值、求根和部分分式展開 126
3.4.2 多項式的乘除法和微積分 128
3.4.3 多項式擬合和插值 129
3.5 元胞數組和結構數組 132
3.5.1 元胞數組 132
3.5.2 結構數組 135
3.6 數據分析與統計 138
3.6.1 數據統計和相關分析 138
3.6.2 數據的差分與積分 140
3.6.3 卷積和快速傅立葉變換 141
3.6.4 向量及其運算 143
3.7 本章小結 146
第4章 MATLAB符號計算 147
4.1 符號表達式的建立 147
4.1.1 創建符號對象 147
4.1.2 創建符號對象和表達式 149
4.1.3 符號矩陣 150
4.2 符號表達式的操作與代數運算 151
4.2.1 符號表達式的代數運算 152
4.2.2 符號數值任意精度控制和運算 153
4.2.3 符號對象與數值對象的轉換 155
4.3 符號表達式的操作和轉換 156
4.3.1 符號表達式中自由變數的確定 156
4.3.2 符號表達式的化簡 157
4.3.3 符號表達式的替換 161
4.3.4 求反函式和複合函式 163
4.3.5 符號表達式的轉換 165
4.4 符號微積分 167
4.4.1 符號極限 167
4.4.2 符號微分 168
4.4.3 符號積分 170
4.4.4 符號級數 171
4.5 符號積分變換 172
4.5.1 傅立葉(Fourier)變換及其反變換 172
4.5.2 拉普拉斯(Laplace)變換及其反變換 173
4.5.3 Z變換及其反變換 174
4.6 符號方程的求解 175
4.6.1 代數方程 176
4.6.2 符號微分方程 177
4.7 可視化符號分析 178
4.7.1 單變數函式分析界面 178
4.7.2 泰勒級數逼近分析界面 181
4.8 Maple函式的使用 182
4.8.1 訪問Maple函式 182
4.8.2 獲得Maple的幫助 184
4.9 本章小結 185
第5章 MATLAB基礎繪圖 186
5.1 二維圖形繪製 186
5.1.1 基本二維繪圖 186
5.1.2 特殊二維繪圖 188
5.1.3 二維繪圖的進階功能 197
5.1.4 線型、頂點標記和顏色 198
5.1.5 分格線控制和圖形標註 199
5.1.6 螢幕刷新 203
5.2 三維圖形繪製 204
5.2.1 基本三維繪圖 204
5.2.2 特殊三維繪圖 209
5.2.3 三維繪圖功能進階 216
5.2.4 透明度作圖 220
5.2.5 立體可視化 221
5.2.6 輕鬆繪製三維圖形 227
5.3 圖形顏色處理 228
5.3.1 顏色映像原理 228
5.3.2 顏色映像的套用 229
5.4 MATLAB句柄式圖形 232
5.4.1 圖形對象和句柄式圖形簡介 233
5.4.2 常用圖形對象的創建及其屬性介紹 237
5.4.3 圖形對象句柄的獲取 247
5.4.4 對象屬性的獲取 249
5.4.5 對象屬性的設定 249
5.5 MATLAB圖像顯示技術 254
5.5.1 圖像簡介 254
5.5.2 圖像的讀取 255
5.5.3 圖像的顯示 257
5.6 動畫製作 258
5.6.1 以質點運動軌跡的方式呈現動畫 258
5.6.2 以旋轉顏色映像的方式呈現動畫 259
5.6.3 以電影播放的方式呈現動畫 260
5.6.4 以對象的方式呈現動畫 260
5.7 本章小結 262
第6章 MATLAB程式設計 263
6.1 腳本檔案和函式檔案 263
6.1.1 M文本編輯器 263
6.1.2 M檔案的基本格式 264
6.1.3 M腳本檔案 264
6.1.4 M函式檔案 266
6.2 程式流程控制 266
6.2.1 for ... end循環結構 267
6.2.2 while ... end循環結構 267
6.2.3 if…else…end條件轉移結構 268
6.2.4 switch…case開關結構 269
6.2.5 try... catch... end試探結構 271
6.2.6 流程控制語句 272
6.3 函式調用和參數傳遞 274
6.3.1 子函式和私有函式 274
6.3.2 局部變數和全局變數 275
6.3.3 函式的參數 276
6.3.4 程式舉例 280
6.4 M檔案性能的最佳化和加速 282
6.4.1 P碼檔案 282
6.4.2 M檔案性能最佳化 283
6.4.3 JIT和加速器 284
6.5 內聯函式 287
6.5.1 內聯函式的創建 287
6.5.2 查看內聯函式 288
6.5.3 使內聯函式適用於數組運算 288
6.5.4 執行內聯函式 289
6.6 利用函式句柄執行函式 289
6.6.1 函式句柄的創建 289
6.6.2 用feval命令執行函式 290
6.7 利用泛函命令進行數值分析 292
6.7.1 求極小值 292
6.7.2 求過零點 294
6.7.3 數值積分 295
6.7.4 微分方程的數值解 296
6.8 本章小結 297
第二篇 套用案例
第7章 數學與數值計算 299
7.1 入門實例 299
7.1.1 繪製分形蕨 299
7.1.2 計算已知方程的微分和積分 301
7.1.3 函式曲線的繪製 303
7.1.4 曲線擬合 304
7.2 提高實例 305
7.2.1 超越函式的實現 305
7.2.2 空間解析幾何問題分析 308
7.2.3 根據初始條件求解方程並繪圖 310
7.2.4 求解函式極限 311
7.3 經典實例 312
7.3.1 求解函式的極值點 312
7.3.2 利用動畫實現Galton釘板模型 315
7.3.3 利用MATLAB實現Collatz猜想 317
7.3.4 實現平面曲線簇的包絡線 318
第8章 財務金融計算 322
8.1 入門實例 322
8.1.1 銷售數據的數字特徵統計 322
8.1.2 資金流的計算 326
8.1.3 住房貸款的等額本息還款法計算 328
8.1.4 資產組合的基本計算 329
8.2 提高實例 330
8.2.1 風險的防範與投資組合的最佳化問題分析 330
8.2.2 繪製並分析股市K線圖 334
8.2.3 股票價格的單因素方差分析 335
8.2.4 購物分期付款的計算 337
8.3 經典實例 339
8.3.1 採用嶺回歸模型構造財政收入預測模型 339
8.3.2 無風險證券投資組合分析 342
8.3.3 股票價格影響因子分析 344
8.3.4 工程投資的回報率分析 348
第9章 最最佳化計算 350
9.1 入門實例 350
9.1.1 方程的最小二乘求解 350
9.1.2 生產決策問題分析 352
9.1.3 投資問題分析 354
9.1.4 工件加工任務分配問題分析 356
9.2 提高實例 357
9.2.1 人事安排問題分析 357
9.2.2 工廠選址問題分析 359
9.2.3 原材料採購問題分析 361
9.2.4 最小成本問題 363
9.3 經典實例 365
9.3.1 二輸入的二次模型的試驗設計 365
9.3.2 工件加工質量控制問題分析 367
9.3.3 產品市場定位問題分析 371
9.3.4 0-1規劃問題 374
第10章 數據統計分析 376
10.1 入門實例 376
10.1.1 檢驗數據是否服從常態分配 376
10.1.2 化工廠污染物分類 378
10.1.3 心電圖數據的多元方差分析 380
10.1.4 求解已知方程的非線性規劃問題 383
10.2 提高實例 385
10.2.1 設備折舊問題分析 385
10.2.2 繪製並分析儀器測量值的過程控制圖 386
10.2.3 城市生態環境水平分析與評價 389
10.2.4 線性回歸方程擬合 392
10.3 經典實例 404
10.3.1 博德圖、尼柯爾斯圖和奈奎斯特圖的繪製 404
10.3.2 利用PCA分析城市生活質量指標數據 406
10.3.3 利用不同森林指標數據對國家進行聚類分析 412
10.3.4 二次回響面模型擬合 423