MATLAB從入門到精通(第2版)

MATLAB從入門到精通(第2版)

《MATLAB從入門到精通(第2版)》是2018年人民郵電出版社出版的圖書,作者是胡曉冬、董辰輝。

基本介紹

  • 書名:MATLAB從入門到精通(第2版)
  • 作者:胡曉冬,董辰輝
  • 出版社:人民郵電出版社
  • 出版時間:2018年12月1日
  • ISBN:9787115493156
內容簡介,圖書目錄,作者簡介,

內容簡介

本書系統講解了MATLAB基本環境和操作方法,介紹了****的MATLAB功能,並分章闡述了數據類型、數值計算、符號計算、編程基礎、可視化、Simulink、應用程式接口等內容,結合案例詳細講解了MATLAB語言的使用。本書還專門講解了實用的MATLAB編程技巧與數學建模套用等。
本書內容豐富、貼近實戰套用,可作為高校學生系統學習MATLAB的書籍,也可以作為廣大科研和工程技術人員在工作中使用MATLAB的參考書。

圖書目錄

目  錄
第 1章 MATLAB概述 1
1.1 MATLAB簡介 1
1.2 MATLAB主要功能 2
1.2.1 開發算法和應用程式 2
1.2.2 分析和訪問數據 3
1.2.3 數據可視化 3
1.2.4 數值計算 4
1.2.5 發布結果和部署應用程式 5
1.3 MATLAB的安裝與啟動 5
1.3.1 MATLAB的安裝 5
1.3.2 MATLAB的啟動 7
1.3.3 Desktop操作界面簡介 8
1.4 Command Window運行入門 9
1.4.1 命令行的使用 9
1.4.2 數值、變數和表達式 10
1.4.3 命令行的特殊輸入方法 12
1.4.4 Command Window的顯示
格式 14
1.4.5 Command Window的常用
快捷鍵與命令 14
1.5 Command History視窗 15
1.6 Current Folder視窗 17
1.7 Workspace和Variable Editor視窗 18
1.7.1 Workspace視窗 18
1.7.2 Variable Editor視窗 19
1.8 命令行輔助功能與Function
Browser 19
1.9 幫助系統 21
1.9.1 幫助瀏覽器 21
1.9.2 在Command Window中
查詢幫助 23
第 2章 矩陣和數組 25
2.1 矩陣的創建與合併 25
2.1.1 創建簡單矩陣 25
2.1.2 創建特殊矩陣 27
2.1.3 矩陣的合併 27
2.2 矩陣的尋訪與賦值 28
2.2.1 矩陣的標識 28
2.2.2 矩陣的尋訪 29
2.2.3 矩陣的賦值 30
2.3 進行數組運算的常用函式 30
2.3.1 函式數組運算規則的定義 30
2.3.2 進行數組運算的常用函式 31
2.4 查詢矩陣信息 32
2.4.1 矩陣的形狀信息 32
2.4.2 矩陣的數據類型 32
2.4.3 矩陣的數據結構 33
2.5 數組運算與矩陣運算 33
2.6 矩陣的重構 34
2.6.1 矩陣元素的擴展與刪除 34
2.6.2 矩陣的重構 35
2.7 稀疏矩陣 37
2.7.1 稀疏矩陣的存儲方式 37
2.7.2 稀疏矩陣的創建 38
2.7.3 稀疏矩陣的運算 41
2.7.4 稀疏矩陣的交換與重新
排序 42
2.7.5 稀疏矩陣視圖 44
2.8 多維數組 44
2.8.1 多維數組的創建 44
2.8.2 多維數組的尋訪與重構 47
2.9 多項式的表達式及其操作 50
2.9.1 多項式的表達式和創建
方法 50
2.9.2 多項式運算函式 51
第3章 數據類型 53
3.1 數值型 53
3.2 邏輯型 53
3.2.1 邏輯型簡介 53
3.2.2 返回邏輯結果的函式 54
3.2.3 運算符的優先權 56
3.3 字元和字元串 57
3.3.1 創建字元串 57
3.3.2 比較字元串 58
3.3.3 查找與替換字元串 59
3.3.4 類型轉換 60
3.3.5 字元串套用函式小結 61
3.4 結構數組 62
3.4.1 結構數組的創建 63
3.4.2 結構數組的尋訪 65
3.4.3 結構數組域的基本操作 66
3.4.4 結構數組的操作 67
3.5 元胞數組 69
3.5.1 元胞數組的創建 70
3.5.2 元胞數組的尋訪 71
3.5.3 元胞數組的基本操作 72
3.5.4 元胞數組的操作函式 72
3.6 Map容器 74
3.6.1 Map容器數據類型介紹 74
3.6.2 Map對象的創建 75
3.6.3 Map對象內容的查看 76
3.6.4 Map對象的讀寫 77
3.6.5 Map對象中鍵和值的修改 79
3.6.6 映射其他數據類型 81
3.7 日期和時間 82
3.7.1 創建日期和時間數組 82
3.7.2 日期和時間元素 86
3.7.3 日期和時間的計算與繪圖 88
3.7.4 以日期和時間作為數值和
字元 92
3.8 類別數組 93
3.9 表 97
第4章 數值計算 106
4.1 因式分解 106
4.1.1 行列式、逆和秩 106
4.1.2 Cholesky因式分解 108
4.1.3 LU因式分解 109
4.1.4 QR因式分解 110
4.1.5 範數 111
4.2 矩陣特徵值和奇異值 112
4.2.1 特徵值和特徵向量的求取 112
4.2.2 奇異值分解 114
4.3 機率和統計 115
4.3.1 基本分析函式 115
4.3.2 機率函式、分布函式、
逆分布函式和隨機數 125
4.4 數值求導與積分 126
4.4.1 導數與梯度 126
4.4.2 一元函式的數值積分 127
4.4.3 二重積分的數值計算 129
4.4.4 三重積分的數值計算 129
4.5 插值 130
4.5.1 一維數據插值 130
4.5.2 二維數據插值 131
4.5.3 多維插值 132
4.5.4 樣條插值 133
4.6 曲線擬合 134
4.6.1 最小二乘原理及其曲線
擬合算法 134
4.6.2 曲線擬合的實現 134
4.7 傅立葉分析 135
4.8 微分方程 137
4.8.1 常微分方程 137
4.8.2 偏微分方程 140
第5章 符號計算 143
5.1 符號變數、表達式及符號方程 143
5.1.1 符號變數與表達式的創建 143
5.1.2 符號計算中的運算符和
基本函式 145
5.1.3 創建符號方程 146
5.2 符號微積分 146
5.2.1 符號求導與微分 146
5.2.2 符號求極限 148
5.2.3 符號積分 149
5.2.4 級數求和 149
5.2.5 泰勒級數 150
5.3 符號表達式的化簡與替換 151
5.3.1 符號表達式的化簡 151
5.3.2 符號表達式的替換 156
5.4 符號可變的精度計算 159
5.5 符號線性代數 161
5.5.1 基礎代數運算 161
5.5.2 線性代數運算 162
5.6 符號方程求解 164
5.6.1 求代數方程的符號解 164
5.6.2 求代數方程組的符號解 164
5.6.3 求微分方程的符號解 166
5.6.4 求微分方程組的符號解 168
5.7 符號積分變換 168
5.7.1 傅立葉變換及其反變換 168
5.7.2 拉普拉斯變換及其反變換 170
5.7.3 z變換及其反變換 171
第6章 MATLAB編程基礎 173
6.1 M檔案 173
6.1.1 M檔案編輯器 174
6.1.2 M檔案的基本內容 175
6.1.3 腳本式M檔案 178
6.1.4 函式式M檔案 178
6.2 流程控制 179
6.2.1 順序結構 179
6.2.2 if語句 180
6.2.3 switch語句 181
6.2.4 for循環 182
6.2.5 while循環 183
6.2.6 continue命令 184
6.2.7 break命令 185
6.2.8 return命令 185
6.2.9 人機互動命令 186
6.3 函式的類型 188
6.3.1 主函式 188
6.3.2 子函式 188
6.3.3 私有函式 189
6.3.4 嵌套函式 190
6.3.5 重載函式 193
6.3.6 匿名函式 193
6.4 函式的變數 197
6.4.1 變數類型 197
6.4.2 變數的傳遞 199
6.5 函式句柄 201
6.5.1 函式句柄的創建 201
6.5.2 函式句柄的調用 202
6.5.3 函式句柄的操作 202
6.6 串演算函式 204
6.6.1 eval函式 204
6.6.2 feval函式 205
6.6.3 inline函式 205
6.7 記憶體的使用 206
6.7.1 記憶體管理函式 207
6.7.2 高效使用記憶體的策略 207
6.7.3 解決“Out of Memory”
問題 209
6.8 程式調試和最佳化 209
6.8.1 使用Debugger視窗調試 210
6.8.2 在命令視窗中調試 213
6.8.3 通過Profiler檢測性能 216
6.9 錯誤處理 219
6.9.1 使用try…catch語句
捕捉錯誤 219
6.9.2 處理錯誤和從錯誤中恢復 219
6.9.3 警告 221
第7章 數據可視化 224
7.1 繪圖的基本知識 224
7.1.1 離散數據和離散函式的
可視化 224
7.1.2 連續函式的可視化 225
7.1.3 可視化的一般步驟 226
7.2 二維圖形 226
7.2.1 基本繪圖函式 227
7.2.2 曲線的色彩、線型和數據
點型 229
7.2.3 坐標、刻度和格線控制 231
7.2.4 圖形標識 233
7.2.5 雙坐標圖和子圖 236
7.2.6 雙軸對數圖形 238
7.2.7 特殊二維圖形 238
7.3 三維圖形 245
7.3.1 繪製三維曲線圖 246
7.3.2 繪製三維曲面圖 246
7.3.3 特殊三維圖形 248
7.4 三維圖形的高級控制 250
7.4.1 視點控制 251
7.4.2 顏色的使用 251
7.4.3 光照控制 252
第8章 圖像處理 253
8.1 圖像檔案的操作 253
8.1.1 查詢圖像檔案的信息 254
8.1.2 圖像檔案的讀寫 255
8.1.3 圖像檔案的顯示 256
8.1.4 圖像格式的轉換 257
8.2 圖像的幾何運算 259
8.2.1 圖像的平移 259
8.2.2 圖像的鏡像變換 259
8.2.3 圖像的縮放 260
8.2.4 圖像的旋轉 261
8.2.5 圖像的剪下 262
8.3 圖像的正交變換 262
8.3.1 傅立葉變換 262
8.3.2 離散餘弦變換 263
8.3.3 Radon變換 265
8.4 MATLAB圖像增強 266
8.4.1 像素值及其統計特性 266
8.4.2 對比度增強 268
8.4.3 直方圖均衡化 270
8.4.4 空域濾波增強 271
8.4.5 頻域增強 273
第9章 圖形用戶界面設計 275
9.1 句柄圖形對象 275
9.1.1 圖形對象 275
9.1.2 圖形對象句柄 276
9.1.3 圖形對象屬性的獲取和
設定 277
9.2 GUIDE簡介 280
9.2.1 啟動GUI 281
9.2.2 Layout編輯器 281
9.2.3 運行GUI 282
9.3 創建GUI 282
9.3.1 GUI的布局 282
9.3.2 選單的創建 283
9.3.3 控制項 287
9.4 回調函式 291
9.4.1 變數的傳遞 291
9.4.2 函式編寫 292
9.5 GUI設計示例 294
第 10章 數據檔案I/O 301
10.1 處理檔案名稱稱 301
10.2 MATLAB支持的檔案格式 302
10.3 導入嚮導的使用 303
10.4 MAT檔案的讀寫 304
10.4.1 MAT檔案的寫入 304
10.4.2 MAT檔案的讀取 306
10.5 Text檔案的讀寫 306
10.5.1 Text檔案的讀取 307
10.5.2 Text檔案的寫入 309
10.6 Excel檔案的讀寫 310
10.7 音頻/視頻檔案操作 312
10.7.1 獲取音頻/視頻檔案的
檔案頭信息 312
10.7.2 音頻/視頻檔案的導入與
導出 312
第 11章 MATLAB最佳化問題套用 314
11.1 MATLAB最佳化工具箱 314
11.1.1 MATLAB求解器 314
11.1.2 極小值最佳化 315
11.1.3 多目標最佳化 322
11.1.4 方程組求解 323
11.1.5 最小二乘及數據擬合 324
11.2 模式搜尋法 325
11.3 模擬退火算法 327
11.3.1 模擬退火算法簡介 327
11.3.2 模擬退火算法的套用 327
11.3.3 關於計算結果的說明 329
11.4 遺傳算法 329
11.4.1 遺傳算法簡介 329
11.4.2 遺傳算法的套用 331
11.5 Optimization Tool簡介 333
第 12章 信號處理 336
12.1 信號處理基本理論 336
12.1.1 信號的生成 336
12.1.2 數字濾波器結構 340
12.2 IIR濾波器的MATLAB實現 342
12.2.1 IIR濾波器經典設計 342
12.2.2 IIR濾波器直接設計法 349
12.2.3 廣義巴特沃思IIR濾波器
設計 350
12.3 FIR濾波器的MATLAB實現 351
12.3.1 FIR濾波器設計 352
12.3.2 fir1函式 352
12.3.3 fir2函式 354
第 13章 Simulink仿真 355
13.1 Simulink簡介 355
13.1.1 Simulink功能與特點 355
13.1.2 Simulink的安裝與啟動 356
13.2 Simulink基礎 358
13.2.1 Simulink模型的含義 358
13.2.2 Simulink模組操作 358
13.2.3 Simulink信號線操作 362
13.2.4 Simulink對模型的注釋 363
13.2.5 Simulink中常用的
模型庫 363
13.2.6 Simulink仿真配置 366
13.3 Simulink動態系統仿真 370
13.3.1 簡單系統的仿真分析 370
13.3.2 離散系統的仿真分析 372
13.3.3 連續系統的仿真分析 374
13.4 Simulink模型中的子系統 377
13.4.1 子系統的建立 377
13.4.2 子系統的封裝 378
13.5 Simulink中的S函式 383
13.5.1 S函式 383
13.5.2 S函式的作用和原理 383
13.5.3 用M檔案創建S函式 384
第 14章 應用程式接口 387
14.1 MATLAB應用程式接口介紹 387
14.2 MATLAB調用C/C++ 388
14.2.1 MATLAB MEX檔案 388
14.2.2 C/C++ MEX檔案的使用 391
14.3 在C/C++中調用MATLAB
引擎 397
14.3.1 MATLAB計算引擎概述 397
14.3.2 MATLAB計算引擎庫
函式 397
14.3.3 在C/C++中調用MATLAB
引擎的示例 399
14.4 MATLAB編譯器 404
14.4.1 MATLAB編譯器的安裝和
設定 405
14.4.2 MATLAB編譯器的使用 405
14.4.3 獨立應用程式 407
第 15章 MATLAB基礎計算技巧 416
15.1 MATLAB數組創建與重構技巧 416
15.2 MATLAB數據類型使用技巧 422
15.3 MATLAB數值計算技巧 424
15.4 MATLAB檔案讀取操作技巧 426
15.5 MATLAB繪圖技巧 427
第 16章 MATLAB編程技巧 430
16.1 MATLAB編程風格 430
16.1.1 命名規則 430
16.1.2 檔案與程式結構 432
16.1.3 基本語句 433
16.1.4 排版、注釋與文檔 436
16.2 MATLAB編程注意事項 439
16.3 記憶體的使用 440
16.4 提高MATLAB運行效率 441
16.4.1 提高運行效率的基本
原則 441
16.4.2 提高運行效率的示例 443
第 17章 MATLAB在數學建模中的
套用 446
17.1 MATLAB蒙特卡羅模擬 446
17.1.1 蒙特卡羅方法簡介 446
17.1.2 蒙特卡羅方法編程示例 447
17.2 MATLAB灰色系統的理論與
套用 448
17.2.1 GM(1,1)預測模型簡介 449
17.2.2 灰色預測計算示例 450
17.3 MATLAB模糊聚類分析 452
17.3.1 模糊聚類分析簡介 452
17.3.2 模糊聚類分析套用示例 453
17.4 MATLAB層次分析法的套用 457
17.4.1 層次分析法簡介 457
17.4.2 層次分析法的套用 460
目 錄
第 1章 MATLAB概述 1
1.1 MATLAB簡介 1
1.2 MATLAB主要功能 2
1.2.1 開發算法和應用程式 2
1.2.2 分析和訪問數據 3
1.2.3 數據可視化 3
1.2.4 數值計算 4
1.2.5 發布結果和部署應用程式 5
1.3 MATLAB的安裝與啟動 5
1.3.1 MATLAB的安裝 5
1.3.2 MATLAB的啟動 7
1.3.3 Desktop操作界面簡介 8
1.4 Command Window運行入門 9
1.4.1 命令行的使用 9
1.4.2 數值、變數和表達式 10
1.4.3 命令行的特殊輸入方法 12
1.4.4 Command Window的顯示
格式 14
1.4.5 Command Window的常用
快捷鍵與命令 14
1.5 Command History視窗 15
1.6 Current Folder視窗 17
1.7 Workspace和Variable Editor視窗 18
1.7.1 Workspace視窗 18
1.7.2 Variable Editor視窗 19
1.8 命令行輔助功能與Function
Browser 19
1.9 幫助系統 21
1.9.1 幫助瀏覽器 21
1.9.2 在Command Window中
查詢幫助 23
第 2章 矩陣和數組 25
2.1 矩陣的創建與合併 25
2.1.1 創建簡單矩陣 25
2.1.2 創建特殊矩陣 27
2.1.3 矩陣的合併 27
2.2 矩陣的尋訪與賦值 28
2.2.1 矩陣的標識 28
2.2.2 矩陣的尋訪 29
2.2.3 矩陣的賦值 30
2.3 進行數組運算的常用函式 30
2.3.1 函式數組運算規則的定義 30
2.3.2 進行數組運算的常用函式 31
2.4 查詢矩陣信息 32
2.4.1 矩陣的形狀信息 32
2.4.2 矩陣的數據類型 32
2.4.3 矩陣的數據結構 33
2.5 數組運算與矩陣運算 33
2.6 矩陣的重構 34
2.6.1 矩陣元素的擴展與刪除 34
2.6.2 矩陣的重構 35
2.7 稀疏矩陣 37
2.7.1 稀疏矩陣的存儲方式 37
2.7.2 稀疏矩陣的創建 38
2.7.3 稀疏矩陣的運算 41
2.7.4 稀疏矩陣的交換與重新
排序 42
2.7.5 稀疏矩陣視圖 44
2.8 多維數組 44
2.8.1 多維數組的創建 44
2.8.2 多維數組的尋訪與重構 47
2.9 多項式的表達式及其操作 50
2.9.1 多項式的表達式和創建
方法 50
2.9.2 多項式運算函式 51
第3章 數據類型 53
3.1 數值型 53
3.2 邏輯型 53
3.2.1 邏輯型簡介 53
3.2.2 返回邏輯結果的函式 54
3.2.3 運算符的優先權 56
3.3 字元和字元串 57
3.3.1 創建字元串 57
3.3.2 比較字元串 58
3.3.3 查找與替換字元串 59
3.3.4 類型轉換 60
3.3.5 字元串套用函式小結 61
3.4 結構數組 62
3.4.1 結構數組的創建 63
3.4.2 結構數組的尋訪 65
3.4.3 結構數組域的基本操作 66
3.4.4 結構數組的操作 67
3.5 元胞數組 69
3.5.1 元胞數組的創建 70
3.5.2 元胞數組的尋訪 71
3.5.3 元胞數組的基本操作 72
3.5.4 元胞數組的操作函式 72
3.6 Map容器 74
3.6.1 Map容器數據類型介紹 74
3.6.2 Map對象的創建 75
3.6.3 Map對象內容的查看 76
3.6.4 Map對象的讀寫 77
3.6.5 Map對象中鍵和值的修改 79
3.6.6 映射其他數據類型 81
3.7 日期和時間 82
3.7.1 創建日期和時間數組 82
3.7.2 日期和時間元素 86
3.7.3 日期和時間的計算與繪圖 88
3.7.4 以日期和時間作為數值和
字元 92
3.8 類別數組 93
3.9 表 97
第4章 數值計算 106
4.1 因式分解 106
4.1.1 行列式、逆和秩 106
4.1.2 Cholesky因式分解 108
4.1.3 LU因式分解 109
4.1.4 QR因式分解 110
4.1.5 範數 111
4.2 矩陣特徵值和奇異值 112
4.2.1 特徵值和特徵向量的求取 112
4.2.2 奇異值分解 114
4.3 機率和統計 115
4.3.1 基本分析函式 115
4.3.2 機率函式、分布函式、
逆分布函式和隨機數 125
4.4 數值求導與積分 126
4.4.1 導數與梯度 126
4.4.2 一元函式的數值積分 127
4.4.3 二重積分的數值計算 129
4.4.4 三重積分的數值計算 129
4.5 插值 130
4.5.1 一維數據插值 130
4.5.2 二維數據插值 131
4.5.3 多維插值 132
4.5.4 樣條插值 133
4.6 曲線擬合 134
4.6.1 最小二乘原理及其曲線
擬合算法 134
4.6.2 曲線擬合的實現 134
4.7 傅立葉分析 135
4.8 微分方程 137
4.8.1 常微分方程 137
4.8.2 偏微分方程 140
第5章 符號計算 143
5.1 符號變數、表達式及符號方程 143
5.1.1 符號變數與表達式的創建 143
5.1.2 符號計算中的運算符和
基本函式 145
5.1.3 創建符號方程 146
5.2 符號微積分 146
5.2.1 符號求導與微分 146
5.2.2 符號求極限 148
5.2.3 符號積分 149
5.2.4 級數求和 149
5.2.5 泰勒級數 150
5.3 符號表達式的化簡與替換 151
5.3.1 符號表達式的化簡 151
5.3.2 符號表達式的替換 156
5.4 符號可變的精度計算 159
5.5 符號線性代數 161
5.5.1 基礎代數運算 161
5.5.2 線性代數運算 162
5.6 符號方程求解 164
5.6.1 求代數方程的符號解 164
5.6.2 求代數方程組的符號解 164
5.6.3 求微分方程的符號解 166
5.6.4 求微分方程組的符號解 168
5.7 符號積分變換 168
5.7.1 傅立葉變換及其反變換 168
5.7.2 拉普拉斯變換及其反變換 170
5.7.3 z變換及其反變換 171
第6章 MATLAB編程基礎 173
6.1 M檔案 173
6.1.1 M檔案編輯器 174
6.1.2 M檔案的基本內容 175
6.1.3 腳本式M檔案 178
6.1.4 函式式M檔案 178
6.2 流程控制 179
6.2.1 順序結構 179
6.2.2 if語句 180
6.2.3 switch語句 181
6.2.4 for循環 182
6.2.5 while循環 183
6.2.6 continue命令 184
6.2.7 break命令 185
6.2.8 return命令 185
6.2.9 人機互動命令 186
6.3 函式的類型 188
6.3.1 主函式 188
6.3.2 子函式 188
6.3.3 私有函式 189
6.3.4 嵌套函式 190
6.3.5 重載函式 193
6.3.6 匿名函式 193
6.4 函式的變數 197
6.4.1 變數類型 197
6.4.2 變數的傳遞 199
6.5 函式句柄 201
6.5.1 函式句柄的創建 201
6.5.2 函式句柄的調用 202
6.5.3 函式句柄的操作 202
6.6 串演算函式 204
6.6.1 eval函式 204
6.6.2 feval函式 205
6.6.3 inline函式 205
6.7 記憶體的使用 206
6.7.1 記憶體管理函式 207
6.7.2 高效使用記憶體的策略 207
6.7.3 解決“Out of Memory”
問題 209
6.8 程式調試和最佳化 209
6.8.1 使用Debugger視窗調試 210
6.8.2 在命令視窗中調試 213
6.8.3 通過Profiler檢測性能 216
6.9 錯誤處理 219
6.9.1 使用try…catch語句
捕捉錯誤 219
6.9.2 處理錯誤和從錯誤中恢復 219
6.9.3 警告 221
第7章 數據可視化 224
7.1 繪圖的基本知識 224
7.1.1 離散數據和離散函式的
可視化 224
7.1.2 連續函式的可視化 225
7.1.3 可視化的一般步驟 226
7.2 二維圖形 226
7.2.1 基本繪圖函式 227
7.2.2 曲線的色彩、線型和數據
點型 229
7.2.3 坐標、刻度和格線控制 231
7.2.4 圖形標識 233
7.2.5 雙坐標圖和子圖 236
7.2.6 雙軸對數圖形 238
7.2.7 特殊二維圖形 238
7.3 三維圖形 245
7.3.1 繪製三維曲線圖 246
7.3.2 繪製三維曲面圖 246
7.3.3 特殊三維圖形 248
7.4 三維圖形的高級控制 250
7.4.1 視點控制 251
7.4.2 顏色的使用 251
7.4.3 光照控制 252
第8章 圖像處理 253
8.1 圖像檔案的操作 253
8.1.1 查詢圖像檔案的信息 254
8.1.2 圖像檔案的讀寫 255
8.1.3 圖像檔案的顯示 256
8.1.4 圖像格式的轉換 257
8.2 圖像的幾何運算 259
8.2.1 圖像的平移 259
8.2.2 圖像的鏡像變換 259
8.2.3 圖像的縮放 260
8.2.4 圖像的旋轉 261
8.2.5 圖像的剪下 262
8.3 圖像的正交變換 262
8.3.1 傅立葉變換 262
8.3.2 離散餘弦變換 263
8.3.3 Radon變換 265
8.4 MATLAB圖像增強 266
8.4.1 像素值及其統計特性 266
8.4.2 對比度增強 268
8.4.3 直方圖均衡化 270
8.4.4 空域濾波增強 271
8.4.5 頻域增強 273
第9章 圖形用戶界面設計 275
9.1 句柄圖形對象 275
9.1.1 圖形對象 275
9.1.2 圖形對象句柄 276
9.1.3 圖形對象屬性的獲取和
設定 277
9.2 GUIDE簡介 280
9.2.1 啟動GUI 281
9.2.2 Layout編輯器 281
9.2.3 運行GUI 282
9.3 創建GUI 282
9.3.1 GUI的布局 282
9.3.2 選單的創建 283
9.3.3 控制項 287
9.4 回調函式 291
9.4.1 變數的傳遞 291
9.4.2 函式編寫 292
9.5 GUI設計示例 294
第 10章 數據檔案I/O 301
10.1 處理檔案名稱稱 301
10.2 MATLAB支持的檔案格式 302
10.3 導入嚮導的使用 303
10.4 MAT檔案的讀寫 304
10.4.1 MAT檔案的寫入 304
10.4.2 MAT檔案的讀取 306
10.5 Text檔案的讀寫 306
10.5.1 Text檔案的讀取 307
10.5.2 Text檔案的寫入 309
10.6 Excel檔案的讀寫 310
10.7 音頻/視頻檔案操作 312
10.7.1 獲取音頻/視頻檔案的
檔案頭信息 312
10.7.2 音頻/視頻檔案的導入與
導出 312
第 11章 MATLAB最佳化問題套用 314
11.1 MATLAB最佳化工具箱 314
11.1.1 MATLAB求解器 314
11.1.2 極小值最佳化 315
11.1.3 多目標最佳化 322
11.1.4 方程組求解 323
11.1.5 最小二乘及數據擬合 324
11.2 模式搜尋法 325
11.3 模擬退火算法 327
11.3.1 模擬退火算法簡介 327
11.3.2 模擬退火算法的套用 327
11.3.3 關於計算結果的說明 329
11.4 遺傳算法 329
11.4.1 遺傳算法簡介 329
11.4.2 遺傳算法的套用 331
11.5 Optimization Tool簡介 333
第 12章 信號處理 336
12.1 信號處理基本理論 336
12.1.1 信號的生成 336
12.1.2 數字濾波器結構 340
12.2 IIR濾波器的MATLAB實現 342
12.2.1 IIR濾波器經典設計 342
12.2.2 IIR濾波器直接設計法 349
12.2.3 廣義巴特沃思IIR濾波器
設計 350
12.3 FIR濾波器的MATLAB實現 351
12.3.1 FIR濾波器設計 352
12.3.2 fir1函式 352
12.3.3 fir2函式 354
第 13章 Simulink仿真 355
13.1 Simulink簡介 355
13.1.1 Simulink功能與特點 355
13.1.2 Simulink的安裝與啟動 356
13.2 Simulink基礎 358
13.2.1 Simulink模型的含義 358
13.2.2 Simulink模組操作 358
13.2.3 Simulink信號線操作 362
13.2.4 Simulink對模型的注釋 363
13.2.5 Simulink中常用的
模型庫 363
13.2.6 Simulink仿真配置 366
13.3 Simulink動態系統仿真 370
13.3.1 簡單系統的仿真分析 370
13.3.2 離散系統的仿真分析 372
13.3.3 連續系統的仿真分析 374
13.4 Simulink模型中的子系統 377
13.4.1 子系統的建立 377
13.4.2 子系統的封裝 378
13.5 Simulink中的S函式 383
13.5.1 S函式 383
13.5.2 S函式的作用和原理 383
13.5.3 用M檔案創建S函式 384
第 14章 應用程式接口 387
14.1 MATLAB應用程式接口介紹 387
14.2 MATLAB調用C/C++ 388
14.2.1 MATLAB MEX檔案 388
14.2.2 C/C++ MEX檔案的使用 391
14.3 在C/C++中調用MATLAB
引擎 397
14.3.1 MATLAB計算引擎概述 397
14.3.2 MATLAB計算引擎庫
函式 397
14.3.3 在C/C++中調用MATLAB
引擎的示例 399
14.4 MATLAB編譯器 404
14.4.1 MATLAB編譯器的安裝和
設定 405
14.4.2 MATLAB編譯器的使用 405
14.4.3 獨立應用程式 407
第 15章 MATLAB基礎計算技巧 416
15.1 MATLAB數組創建與重構技巧 416
15.2 MATLAB數據類型使用技巧 422
15.3 MATLAB數值計算技巧 424
15.4 MATLAB檔案讀取操作技巧 426
15.5 MATLAB繪圖技巧 427
第 16章 MATLAB編程技巧 430
16.1 MATLAB編程風格 430
16.1.1 命名規則 430
16.1.2 檔案與程式結構 432
16.1.3 基本語句 433
16.1.4 排版、注釋與文檔 436
16.2 MATLAB編程注意事項 439
16.3 記憶體的使用 440
16.4 提高MATLAB運行效率 441
16.4.1 提高運行效率的基本
原則 441
16.4.2 提高運行效率的示例 443
第 17章 MATLAB在數學建模中的
套用 446
17.1 MATLAB蒙特卡羅模擬 446
17.1.1 蒙特卡羅方法簡介 446
17.1.2 蒙特卡羅方法編程示例 447
17.2 MATLAB灰色系統的理論與
套用 448
17.2.1 GM(1,1)預測模型簡介 449
17.2.2 灰色預測計算示例 450
17.3 MATLAB模糊聚類分析 452
17.3.1 模糊聚類分析簡介 452
17.3.2 模糊聚類分析套用示例 453
17.4 MATLAB層次分析法的套用 457
17.4.1 層次分析法簡介 457
17.4.2 層次分析法的套用 460

作者簡介

胡曉冬,有十年以上的MATLAB使用經驗,在日常的工作中也是以MATLAB作為主要的編程工具進行算法方面的編程,並且在之前編寫過多本MATLAB教程。在過去的多年裡面一直在跟進MATLAB軟體的更新,對於新的功能尤其是人性化方面的功能有著深入體會。

相關詞條

熱門詞條

聯絡我們