內容簡介
《MATLAB 2014從新手到高手》以零基礎講解為宗旨,用實例引導讀者學習,深入淺出地介紹了MATLAB 2014的相關知識和套用方法。
《MATLAB 2014從新手到高手》分為6篇,共19章。第 1篇【新手入門篇】介紹了MATLAB的入門知識和工作環境等;第 2篇【語法基礎篇】介紹了MATLAB的基本語法、MATLAB的數組及其操作、MATLAB的矩陣及其操作、利用MATLAB進行科學計算以及利用MATLAB進行符號運算等;第3篇【數據可視化篇】介紹了二維數據和三維數據可視化等;第4篇【程式設計篇】介紹了MATLAB編程基礎、圖形用戶界面設計以及Simulink仿真基礎等;第5篇【綜合實戰篇】介紹了MATLAB在信號與系統、數位訊號處理以及通信原理中的套用等;第6篇【高手秘籍篇】介紹了數字圖像處理、視覺分析、檔案 I/O以及MATLAB的高級套用等。
在《MATLAB 2014從新手到高手》附贈的DVD多媒體教學光碟中,包含了10小時與圖書內容同步的教學錄像,以及所有範例的代碼和習題答案。此外,還贈送了大量相關學習資源,供讀者擴展學習。除光碟外,本書還贈送了紙質《MATLAB常用函式隨身查》,便於讀者隨時翻查。
《MATLAB 2014從新手到高手》不僅適合MATLAB的初、中級用戶學習使用,也可以作為各類院校相關專業學生和計算機培訓班學員的教材或輔導用書。
圖書目錄
第 1篇 新手入門篇
本篇為大家揭開MATLAB的神秘面紗,帶領大家一同感受MATLAB的無限精彩!
第 1章 認識MATLAB 2
本章介紹MATLAB的基礎知識、行業套用以及MATLAB R2014b的通用命令。
1.1 什麼是MATLAB 3
1.1.1 MATLAB概述 3
1.1.2 MATLAB產生的歷史背景 3
1.1.3 MathWorks及其產品概述 4
1.1.4 MATLAB的語言特點 4
1.1.5 MATLAB的組成 5
1.2 MATLAB R2014b的新增功能 5
1.3 MATLAB的行業套用 7
1.4 MATLAB R2014b 的通用命令 7
高手私房菜
技巧1:MATLAB的學習技巧 8
技巧2:MATLAB的編程規範 8
第 2章 MATLAB的工作環境 9
本章主要介紹MATLAB的安裝方法、用戶界面和幫助系統等。
2.1 MATLAB R2014b的安裝與啟動 10
2.1.1 對計算機配置的要求 10
2.1.2 安裝MATLAB 10
2.1.3 啟動和退出MATLAB 12
2.1.4 卸載MATLAB 12
2.2 MATLAB R2014b的結構 13
2.3 MATLAB R2014b的工作界面 13
2.3.1 選單和工具列 14
2.3.2 命令視窗 15
2.3.3 工作空間 16
2.3.4 命令歷史視窗 17
2.4 MATLAB R2014b 的檔案管理 17
2.4.1 當前資料夾瀏覽器和路徑管理器 17
2.4.2 搜尋路徑及其設定 18
2.5 MATLAB R2014b 的幫助系統 20
2.5.1 使用幫助瀏覽器視窗 20
2.5.2 使用幫助命令 21
2.5.3 演示幫助 21
高手私房菜
技巧1:用好MATLAB的幫助功能 22
技巧2:如何注釋一段程式 22
技巧3:注釋和取消注釋的快捷鍵 22
第 2篇 語法基礎篇
本篇為大家講解MATLAB的基本語法,主要包括數組、矩陣、運算方法等。
第3章 MATLAB的基本語法 24
要運用這個大型運算平台,必須首先掌握一些MATLAB的語法知識。本章介紹MATLAB的表達式、數據類型、運算符、標點符號等。
3.1 MATLAB的表達式和函式 25
3.1.1 變數 25
3.1.2 關鍵字 25
3.2 MATLAB的數據類型 26
3.2.1 數值 26
3.2.2 邏輯 30
3.2.3 字元串 30
3.2.4 單元數組 30
3.2.5 結構體 31
3.2.6 日期和時間 32
3.3 MATLAB的運算符 33
3.3.1 算術運算符 33
3.3.2 關係運算符 34
3.3.3 邏輯運算符 35
3.3.4 運算符優先權 36
3.4 MATLAB的標點符號 36
3.5 基本數學函式 38
3.6 MATLAB的腳本檔案 39
3.7 習題 39
高手私房菜
技巧1:函式檔案的命名技巧 40
技巧2:如何自動對齊一段程式 40
第4章 MATLAB的數組及其操作 41
數組和數組運算始終是MATLAB中的核心內容,本章主要介紹數組及數組運算、多項式表示和運算及MATLAB中的關係和邏輯運算。
4.1 數組的創建 42
4.1.1 一維數組的創建 42
4.1.2 二維數組的創建 43
4.1.3 多維數組的創建 44
4.2 基本的數組操作 49
4.3 數組的運算 55
4.3.1 數值運算 55
4.3.2 邏輯運算 56
4.3.3 關係運算 56
4.3.4 向量的點積、叉積、混合積 57
4.3.5 範數 58
4.3.6 數組的保存和載入 58
4.4 習題 59
高手私房菜
技巧1:如何清除MATLAB命令視窗中的內容 59
技巧2:如何清除MATLAB工作空間中的變數 60
第5章 MATLAB的矩陣及其操作 61
MATLAB語言提供了強大的矩陣運算和處理功能,本章主要介紹MATLAB中矩陣的生成、運算、套用等有關操作。
5.1 矩陣的生成及初等運算 62
5.1.1 矩陣的生成 62
5.1.2 冒號表達式 63
5.1.3 矩陣的拆分 63
5.1.4 矩陣的連線 67
5.2 矩陣運算 67
5.2.1 基本運算 67
5.2.2 點運算 71
5.3 矩陣分析 72
5.3.1 常用矩陣 72
5.3.2 矩陣的特徵參數 75
5.4 稀疏矩陣 78
5.4.1 稀疏矩陣的生成 79
5.4.2 轉換成滿矩陣 79
5.4.3 對非零元素進行操作 80
5.4.4 特殊的稀疏矩陣 81
5.5 習題 82
高手私房菜
技巧1:如何對付“Out of Memory” 83
技巧2:如何高效使用Memory 83
第6章 利用MATLAB進行科學計算 85
MATLAB語言不但具有強大的科學計算能力,而且編程效率高、使用方便,是當前科學計算與套用領域的重要工具。
6.1 多項式、插值與擬合 86
6.1.1 多項式的表示 86
6.1.2 多項式的運算 86
6.1.3 函式插值 89
6.1.4 函式擬合 90
6.2 數值微分與積分 92
6.2.1 數值微分 92
6.2.2 數值積分 94
6.3 線性方程組的求解 97
6.3.1 利用左除運算求解線性方程組 97
6.3.2 利用矩陣求逆求解線性方程組 98
6.3.3 利用矩陣分解求解線性方程組 99
6.4 非線性方程組的求解 102
6.4.1 單變數非線性方程的求解 102
6.4.2 非線性方程組的求解 102
6.5 微分方程的求解 103
6.5.1 常微分方程初值問題 103
6.5.2 常微分方程邊值問題 106
6.6 機率統計 108
6.6.1 常見分布的隨機數產生 108
6.6.2 計算機率密度函式值 109
6.6.3 計算隨機變數的數學期望和方差 110
6.6.4 參數估計 110
6.6.5 假設檢驗 112
6.7 習題 112
高手私房菜
技巧:如何對線性方程組的解的情況進行判定 113
第7章 利用MATLAB進行符號運算 115
MATLAB中的符號數學工具箱包括微積分、線性代數、化簡代數表達式、方程求解、特殊的數學函式、變數精度算法和數學變換等。
7.1 符號變數、符號表達式和符號方程的生成 116
7.1.1 使用sym函式生成符號變數和符號表達式 116
7.1.2 使用syms函式定義符號變數和符號表達式 117
7.1.3 符號方程的生成 117
7.2 符號變數的基本操作 118
7.2.1 findsym函式:尋找符號變數 118
7.2.2 符號運算的精度確定 118
7.3 符號表達式的基本操作 119
7.3.1 四則運算 119
7.3.2 符號多項式的因式分解與展開 119
7.3.3 提取有理式的分子和分母 121
7.3.4 符號表達式的化簡 121
7.3.5 符號表達式的替換 122
7.3.6 反函式的求解 123
7.3.7 複合函式 123
7.4 符號矩陣的生成和運算 124
7.4.1 符號矩陣的生成 124
7.4.2 符號矩陣的運算 125
7.5 符號微積分 127
7.5.1 符號極限 127
7.5.2 符號微分 127
7.5.3 符號積分 128
7.6 符號積分變換 129
7.6.1 Fourier變換及其逆變換 129
7.6.2 Laplace變換及其逆變換 130
7.6.3 Z變換及其逆變換 132
7.7 符號方程的求解 133
7.7.1 代數方程求解 133
7.7.2 微分方程求解 134
7.8 習題 135
高手私房菜
技巧:無窮級數求和問題的求解方法 136
第3篇 數據可視化篇
MATLAB的繪圖功能是相當強大的,本篇主要講解二維數據和三維數據的可視化。
第8章 二維數據可視化 138
MATLAB語言提供了一套功能強大的繪圖命令,這些命令可以根據輸入的數據自動完成圖形的繪製,為計算過程和結果的可視化提供了極佳的手段。
8.1 圖形繪製 139
8.1.1 離散數據及離散函式 139
8.1.2 連續函式 139
8.1.3 圖形繪製的基本步驟 140
8.1.4 圖形繪製示例 141
8.2 二維圖形繪製 141
8.2.1 plot指令 141
8.2.2 格柵 143
8.2.3 文字說明 144
8.2.4 線型、標記和顏色 145
8.2.5 坐標軸設定 146
8.2.6 圖形迭繪 147
8.2.7 子圖繪製 148
8.2.8 互動式繪圖 149
8.2.9 雙坐標軸繪製 150
8.2.10 fplot繪圖指令 150
8.2.11 ezplot繪圖指令 151
8.2.12 特殊坐標軸繪圖 152
8.3 二維特殊圖形函式 154
8.3.1 柱狀圖 154
8.3.2 面積圖 155
8.3.3 實心圖 156
8.3.4 向量圖 157
8.3.5 餅圖 157
8.3.6 直方圖 158
8.4 圖形句柄 159
8.4.1 句柄對象 159
8.4.2 對象屬性 160
8.4.3 圖形句柄創建實例 162
8.5 習題 165
高手私房菜
技巧:如何建立一個帶編號的圖形視窗 166
第9章 三維數據可視化 167
採用plot3函式、mesh函式和surf函式可以繪製三維圖形,主要包括三維曲線、三維格線圖和三維曲面圖等。
9.1 三維圖形繪製 168
9.1.1 曲線圖繪製 168
9.1.2 格線圖繪製 168
9.1.3 曲面圖繪製 169
9.2 三維隱函式繪圖 170
9.3 三維圖形的修飾處理 172
9.3.1 三維圖形的視點處理 172
9.3.2 色彩處理 174
9.3.3 光照處理 174
9.4 習題 175
高手私房菜
技巧:用顏色圖編輯器(colormap editor)對三維圖形再加工 175
第4篇 程式設計篇
運用MATLAB的強大功能也可以進行程式設計,本篇就來講解程式設計方法。
第 10章 MATLAB編程基礎 178
通過編寫擴展名為.m的M檔案,用戶可以實現各種複雜的功能,本章主要介紹MATLAB中的M檔案、程式控制結構、檔案操作、代碼最佳化方法和程式調試方法等。
10.1 M檔案 179
10.1.1 函式變數 180
10.1.2 函式參數 181
10.1.3 函式句柄 184
10.1.4 函式類型 184
10.2 MATLAB的程式控制結構 187
10.2.1 條件控制語句 187
10.2.2 循環控制語句 189
10.2.3 誤差控制語句 190
10.2.4 其他流程控制語句 191
10.3 檔案操作 192
10.3.1 檔案的打開與關閉 193
10.3.2 檔案I/O 194
10.4 MATLAB程式最佳化 197
10.4.1 通過Profiler進行程式運行分析 197
10.4.2 通過tic和toc函式進行程式運行分析 198
10.4.3 程式最佳化的常用方法 198
10.5 程式調試 199
10.5.1 直接調試法 200
10.5.2 利用調試工具 200
10.6 習題 201
高手私房菜
技巧:加快 MATLAB 程式執行速度的技巧 201
第 11章 圖形用戶界面設計 203
一個設計良好的GUI,能夠極大地方便用戶操作,用戶可以通過視窗、選單、圖示、按鈕等方式操作計算機和運行軟體。
11.1 使用GUIDE創建GUI 204
11.1.1 GUIDE編輯界面簡介 204
11.1.2 選單設計實例 205
11.1.3 包含控制項的GUI設計實例 206
11.1.4 M檔案和FIG檔案 209
11.2 GUI編程 210
11.3 實例解析 212
11.3.1 實例1:peaks函式的輪廓圖繪製 212
11.3.2 實例2:用控制項控制圖形的屬性 215
11.3.3 實例3:TeapotdemoGUI的製作過程剖析 219
11.4 習題 221
高手私房菜
技巧1:創建MATLAB 圖形用戶界面所需的三個基本元素 221
技巧2:編寫獨立的回調函式 222
第 12章 Simulink仿真基礎 223
本章講解Simulink仿真系統的基本使用方法。
12.1 Simulink 簡介 224
12.2 一個簡單的Simulink仿真示例 224
12.3 Simulink的基本模組 226
12.3.1 Simulink的基本模組及其功能 226
12.3.2 常用模組的參數和屬性設定 227
12.4 Simulink的基本操作 229
12.4.1 Simulink的檔案操作 229
12.4.2 模組的操作 230
12.4.3 信號線的操作 231
12.4.4 給模型添加文本注釋 232
12.5 複雜系統的仿真 233
12.5.1 仿真的設定 233
12.5.2 連續系統仿真示例 236
12.5.3 離散系統仿真示例 237
12.6 子系統與封裝 238
12.6.1 建立子系統 238
12.6.2 子系統的封裝 240
12.7 習題 242
高手私房菜
技巧:Simulink利用Scope輸出及繪製仿真波形技巧 242
第5篇 綜合實戰篇
學以致用是學習的**終目的!本篇通過案例實戰來感受MATLAB的強大功能!
第 13章 MATLAB在信號與系統中的套用 246
本章結合MATLAB工具,套用計算機技術解決信號分析、系統分析以及系統對信號回響分析等信號與系統理論研究中的相關問題。
13.1 典型連續時間信號描述及運算 247
13.1.1 典型連續信號波形的繪製 247
13.1.2 連續時間信號的運算 249
13.2 線性系統時域分析 251
13.2.1 連續時間信號卷積 251
13.2.2 線性系統時域分析 252
13.3 連續系統的頻域分析 254
13.4 連續時間系統S域零極點分析 256
13.4.1 零極點分布與系統穩定性 257
13.4.2 零極點分布與系統衝激回響時域特性 258
13.4.3 由連續系統零極點分布分析系統的頻率特性 260
13.5 習題 263
高手私房菜
技巧:零極點和狀態方程之間的相互轉換 264
第 14章 MATLAB在數位訊號處理中的套用 267
數位訊號分析處理是現代數字電子技術中的基礎,本章學習MATLAB在數位訊號處理中的套用。
14.1 離散時間信號的MATLAB實現 268
14.1.1 正弦序列 268
14.1.2 指數序列 268
14.1.3 單位抽樣序列 271
14.1.4 單位階躍序列 271
14.2 基於MATLAB的快速Fourier變換 273
14.2.1 快速Fourier變換的用法 273
14.2.2 運用FFT進行簡單濾波 275
14.3 IIR數字濾波器的設計 277
14.3.1 模擬原型濾波器 277
14.3.2 頻率變換 278
14.3.3 濾波器**小階數選擇 278
14.3.4 模擬濾波器到數字濾波器的轉換 280
14.3.5 完全工具函式設計IIR濾波器 281
14.4 IIR濾波器直接設計 284
14.5 FIR濾波器設計 285
14.5.1 運用窗函式設計數字濾波器 285
14.5.2 標準型FIR濾波器 287
14.5.3 多頻帶FIR濾波器 288
14.6 習題 290
高手私房菜
技巧:**優的標準多頻帶FIR數字濾波器設計 291
第 15章 MATLAB在通信原理中的套用 293
本章學習MATLAB在通信原理中的套用。
15.1 幅度調製 294
15.1.1 BASK調製 294
15.1.2 MASK調製 295
15.1.3 QAM調製 297
15.2 相位調製 298
15.2.1 PSK調製 298
15.2.2 OQPSK調製 299
15.3 頻率調製 301
15.3.1 BFSK調製 301
15.3.2 MFSK調製 303
15.3.3 CPM調製 303
15.4 數位訊號的解調 306
15.4.1 BASK解調 306
15.4.2 QAM解調 307
15.4.3 BPSK解調 309
15.4.4 BFSK解調 310
15.5 習題 312
高手私房菜
技巧:正交頻分復用多載波頻率調製方式的編程 312
第6篇 高手秘籍篇
高手之所以稱之為高手,**主要的原因就是他們掌握了很多實用的秘籍。
第 16章 數字圖像處理 316
本章結合MATLAB數字圖像處理工具箱,套用數字圖像處理技術解決圖像存儲、灰度變換、幾何變換、圖像增強以及彩色圖像處理等相關問題。
16.1 MATLAB數字圖像處理基礎 317
16.1.1 圖像類型及存儲方式 317
16.1.2 圖像轉換 317
16.1.3 讀/寫圖像檔案 318
16.1.4 圖像顯示 318
16.2 圖像灰度變換 318
16.2.1 直方圖 319
16.2.2 直方圖均衡 319
16.2.3 灰度線性變換 320
16.2.4 灰度非線性變換 321
16.3 幾何變換 321
16.3.1 圖像縮放 322
16.3.2 圖像旋轉 322
16.4 圖像濾波 323
16.4.1 線性空域濾波 323
16.4.2 非線性空域濾波 324
16.5 彩色圖像處理 325
16.5.1 彩色圖像表示模式 325
16.5.2 常用的彩色圖像處理函式 326
16.6 習題 327
高手私房菜
技巧:MATLAB批量讀入圖片技巧 327
第 17章 視覺分析 329
本章主要學習如何運用MATLAB 2014自帶的Computer Vision System Toolbox(計算機視覺工具箱)。
17.1 Computer Vision System Toolbox 330
17.2 特徵檢測與提取 330
17.2.1 特徵檢測與描述 330
17.2.2 特徵匹配 332
17.3 三維重建 333
17.3.1 相機標定 333
17.3.2 圖像校正 333
17.3.3 計算視差 333
17.3.4 場景恢復 334
17.4 處理視頻序列 334
17.4.1 讀取視頻序列 334
17.4.2 處理視頻幀 334
17.4.3 保存視頻序列 335
17.5 實例解析 335
17.5.1 立體標定與場景重建 335
17.5.2 從視頻中恢復深度 337
17.6 習題 339
高手私房菜
技巧:工具箱的添加技巧 340
第 18章 檔案 I/O 341
本章主要介紹對檔案的I/O操作。
18.1 打開和關閉檔案 342
18.1.1 打開檔案 342
18.1.2 關閉檔案 342
18.2 處理二進制數據檔案 343
18.2.1 讀二進制數據 343
18.2.2 寫二進制數據 343
18.3 格式化讀寫檔案 344
18.3.1 格式化讀取 345
18.3.2 格式化寫入 345
18.4 檔案內容定位 346
18.5 習題 347
高手私房菜
技巧:檔案 I/O技巧 348
第 19章 MATLAB的高級套用 349
本章將向讀者詳細介紹MATLAB編譯器的相關知識。
19.1 MATLAB編譯器 350
19.1.1 編譯器的功能 350
19.1.2 編譯器的性能 350
19.2 編譯器的安裝與配置 350
19.2.1 前提準備 351
19.2.2 配置編譯器 351
19.3 C/C++語言MEX檔案 352
19.3.1 MEX檔案的數據 352
19.3.2 MEX檔案的結構 352
19.3.3 C語言MEX檔案的建立 354
19.4 MAT檔案 355
19.4.1 在MATLAB中讀寫MAT檔案 355
19.4.2 使用C/C++創建MAT檔案 357
19.5 創建獨立運行的程式 359
19.5.1 MCC命令 360
19.5.2 編譯包含繪圖命令的M檔案 360
19.6 習題 361
高手私房菜
技巧:MAT檔案中變數的查看技巧 362