本書主要面向零基礎讀者,用實例引導讀者學習,深入淺出地介紹了MATLAB的相關知識和實戰(zhàn)技能。
本書第Ⅰ篇“基礎知識”主要講解MATLAB基礎知識;第Ⅱ篇“語法基礎”主要講解MATLAB的基本使用方法、MATLAB編程基礎、MATLAB的數(shù)組與矩陣操作、常用數(shù)學函數(shù)、符號運算、數(shù)值運算、數(shù)據(jù)分析及圖形句柄等;第Ⅲ篇“數(shù)據(jù)可視化”主要介紹二維數(shù)據(jù)可視化和三維數(shù)據(jù)可視化等;第Ⅳ篇“編程設計”主要介紹圖形用戶界面設計、Simulink仿真基礎、文件讀取I/O、MATLAB編譯器及外部接口應用等;第Ⅴ篇“綜合實戰(zhàn)”主要介紹 MATLAB在信號與系統(tǒng)中的應用、 MATLAB在數(shù)字信號處理中的應用、MATLAB在通信原理中的應用、MATLAB在圖像處理領域的應用及MATLAB在金融領域的應用等。
本書所提供的電子資源中包含了與圖書內(nèi)容全程同步的教學視頻。此外,還贈送了大量相關學習資料,以便讀者擴展學習。
本書適合任何希望學習MATLAB的讀者,無論讀者是否從事計算機相關行業(yè),是否接觸過MATLAB,均可通過學習本書快速掌握MATLAB的開發(fā)方法和技巧。
*零基礎、入門級的講解
無論讀者是否從事計算機相關行業(yè),是否接觸過MATLAB,是否使用MATLAB開發(fā)過項目,都能從本書中獲益。
*超多、實用、專業(yè)的范例和項目
本書結(jié)合實際工作中的范例,逐一講解MATLAB的各種知識和技術(shù)。之后,還以實際開發(fā)項目幫助讀者綜合運用所學知識,從而提升實戰(zhàn)經(jīng)驗,積累項目經(jīng)驗。
*隨時檢測自己的學習成果
每章首頁給出了“本章要點”,方便讀者明確學習方向。
*細致入微、貼心提示
本書在講解過程中使用了“提示”“注意”“技巧”等小欄目,幫助讀者在學習過程中更清楚地理解基本概念,掌握相關操作,并輕松獲取實戰(zhàn)技巧。
*全程同步教學視頻
涵蓋本書所有知識點,詳細講解每個范例和項目的開發(fā)過程及關鍵點,幫助讀者更輕松地掌握書中所有的MATLAB 程序設計知識。
*超多電子資源大放送
贈送大量電子資源,包括 11 小時全程同步教學視頻、188 個范例源碼、全書配套 PPT、85 個經(jīng)典程序源代碼、MATLAB 快捷鍵速查手冊、MATLAB 函數(shù)速查手冊、MATLAB 編程實例 100 例、MATLAB 常見問題解答電子書、MATLAB 中常見的程序出錯問題及解答電子書、數(shù)學建模常用到的 MATLAB 函數(shù)電子書。
王貴財,張建華,李永鋒,龍馬高新教育團隊的作者,龍馬高新教育,專業(yè)的計算機研究、教育機構(gòu),擁有近20年的圖書出版經(jīng)歷,與39所高校、8個行業(yè)協(xié)會、5家知名網(wǎng)站保持良好關系,屢獲全國暢銷書大獎,其推出的“從入門到精通”“完全自學手冊”“編程寶典”“完全自學手冊”“精通100%”“非常網(wǎng)絡6+1”等均成為業(yè)界知名圖書,受到百萬讀者的認可和推薦。
第 Ⅰ 篇基礎知識
第 1 章 認識MATLAB
1.1 MATLAB到底有多厲害 003
1.2 MATLAB概述 003
1.2.1 MATLAB的語言特點及應用領域 003
1.2.2 MathWorks公司及其產(chǎn)品概述 004
1.2.3 MATLAB的語言特點 005
1.2.4 MATLAB的組成 005
1.2.5 MATLAB R2016b新增功能 006
1.3 MATLAB的行業(yè)應用 007
1.4 初次使用MATLAB 008
1.4.1 直接使用MATLAB命令 008
1.4.2 一個簡單的MATLAB程序 010
第 2 章 MATLAB基礎
2.1 MATLAB R2016b的安裝與啟動 014
2.1.1 對計算機配置的要求 014
2.1.2 安裝MATLAB 014
2.1.3 啟動和退出MATLAB 017
2.1.4 卸載MATLAB 018
2.2 MATLAB R2016b的目錄結(jié)構(gòu) 018
2.3 MATLAB R2016b的工作界面 018
2.3.1 菜單工具欄 019
2.3.2 命令行窗口 020
2.3.3 工作區(qū) 021
2.3.4 命令歷史記錄窗口 022
2.4 MATLAB R2016b 的幫助系統(tǒng) 022
2.4.1 使用幫助瀏覽器窗口 022
2.4.2 使用幫助命令 023
2.4.3 演示幫助 024
2.5 疑難解答 024
第 Ⅱ 篇語法基礎
第 3 章 MATLAB的基本使用
3.1 MATLAB的通用命令 027
3.2 MATLAB的文件管理 028
3.2.1 當前文件夾瀏覽器和路徑管理器 028
3.2.2 搜索路徑及其設置 029
3.3 MATLAB表達式中的變量和關鍵字 030
3.3.1 變量 030
3.3.2 關鍵字 030
3.4 MATLAB的數(shù)據(jù)類型 031
3.4.1 數(shù)值 031
3.4.2 邏輯型數(shù)值 034
3.4.3 字符串 035
3.4.4 單元數(shù)組 035
3.4.5 結(jié)構(gòu)體 035
3.4.6 日期和時間 037
3.5 MATLAB的運算符和基本運算 038
3.5.1 算術(shù)運算符 038
3.5.2 關系運算符 039
3.5.3 邏輯運算符 039
3.5.4 運算符優(yōu)先級 040
3.6 MATLAB的標點符號 040
3.7 MATLAB的腳本文件 042
3.8 疑難解答 042
第 4 章 MATLAB編程基礎
4.1 M文件 044
4.1.1 概述 044
4.1.2 函數(shù)變量 045
4.1.3 函數(shù)參數(shù) 045
4.1.4 函數(shù)句柄 048
4.1.5 函數(shù)類型 049
4.2 MATLAB的程序控制結(jié)構(gòu) 051
4.2.1 條件控制語句 051
4.2.2 循環(huán)控制語句 053
4.2.3 誤差控制語句 054
4.2.4 其他流程控制語句 055
4.3 文件操作 057
4.3.1 文件的打開與關閉 058
4.3.2 文件I/O 059
4.4 MATLAB程序優(yōu)化 062
4.4.1 通過Profiler進行程序運行分析 062
4.4.2 通過tic函數(shù)和toc函數(shù)進行程序運行分析 064
4.4.3 程序優(yōu)化的常用方法 064
4.5 程序調(diào)試 065
4.5.1 直接調(diào)試法 066
4.5.2 利用調(diào)試工具進行的調(diào)試法 066
4.6 疑難解答 067
第 5 章 MATLAB的數(shù)組與矩陣操作
5.1 數(shù)組(矩陣)的生成及初等運算 070
5.1.1 數(shù)組(矩陣)的生成 070
5.1.2 冒號表達式 071
5.2 基本的數(shù)組操作 071
5.2.1 數(shù)組元素的尋址 071
5.2.2 數(shù)組元素的查找 072
5.2.3 數(shù)組元素的排序 072
5.2.4 矩陣轉(zhuǎn)置 073
5.2.5 矩陣重排 073
5.2.6 矩陣的拆分 074
5.2.7 矩陣的連接 076
5.2.8 矩陣變換 077
5.3 數(shù)組的運算 078
5.3.1 數(shù)值運算 078
5.3.2 邏輯運算 078
5.3.3 關系運算 079
5.3.4 向量的點積、叉積、混合積 079
5.3.5 范數(shù) 080
5.4 數(shù)組的保存和載入 081
5.5 矩陣運算 081
5.5.1 基本運算 081
5.5.2 點運算 085
5.6 矩陣分析 086
5.6.1 常用矩陣 086
5.6.2 矩陣的特征參數(shù) 089
5.7 稀疏矩陣 092
5.7.1 稀疏矩陣的生成 092
5.7.2 轉(zhuǎn)換成滿矩陣 093
5.7.3 對非零元素進行操作 093
5.7.4 特殊的稀疏矩陣 094
5.8 疑難解答 095
第 6 章 常用數(shù)學函數(shù)
6.1 初等數(shù)學函數(shù) 098
6.1.1 三角函數(shù) 098
6.1.2 指數(shù)和對數(shù)函數(shù) 099
6.1.3 復數(shù)處理函數(shù) 100
6.1.4 離散函數(shù) 101
6.2 特殊數(shù)學函數(shù) 103
6.3 綜合應用 105
6.4 疑難解答 106
第 7 章 符號運算
7.1 符號變量、符號表達式和符號方程的生成 108
7.1.1 使用sym函數(shù)生成符號變量和符號表達式 108
7.1.2 使用syms函數(shù)定義符號變量和符號表達式 109
7.1.3 符號方程的生成 109
7.2 符號變量的基本操作 109
7.2.1 Findsym函數(shù):尋找符號變量 109
7.2.2 符號運算的精度確定 110
7.3 符號表達式的基本操作 111
7.3.1 四則運算 111
7.3.2 符號多項式的因式分解與展開 111
7.3.3 提取有理式的分子和分母 113
7.3.4 符號表達式的化簡 113
7.3.5 符號表達式的替換 114
7.3.6 反函數(shù)的求解 114
7.3.7 復合函數(shù) 115
7.4 符號矩陣的生成和運算 116
7.4.1 符號矩陣的生成 116
7.4.2 符號矩陣的運算 117
7.5 符號微積分 118
7.5.1 符號極限 118
7.5.2 符號微分 119
7.5.3 符號積分 120
7.6 符號積分變換 121
7.6.1 Fourier變換及其逆變換 121
7.6.2 Laplace變換及其逆變換 122
7.6.3 z變換及其逆變換 123
7.7 符號方程的求解 125
7.7.1 代數(shù)方程求解 125
7.7.2 微分方程求解 126
7.8 綜合應用 127
7.9 疑難解答 128
第 8 章 數(shù)值運算
8.1 多項式計算 130
8.1.1 多項式的表示 130
8.1.2 多項式的運算 130
8.2 極限運算 133
8.3 線性方程組求解 133
8.3.1 利用左除運算求解線性方程組 133
8.3.2 利用矩陣求逆求解線性方程組 134
8.3.3 利用矩陣分解求解線性方程組 135
8.4 非線性方程組求解 138
8.4.1 單變量非線性方程的求解 138
8.4.2 非線性方程組的求解 138
8.5 數(shù)值積分與微分 139
8.5.1 數(shù)值微分 139
8.5.2 數(shù)值積分 141
8.6 綜合應用 144
8.7 疑難解答 145
第 9 章 數(shù)據(jù)分析
9.1 插值與擬合 150
9.1.1 插值 150
9.1.2 擬合 151
9.2 最優(yōu)化計算 152
9.2.1 優(yōu)化問題的求解過程 152
9.2.2 線性規(guī)劃 154
9.2.3 非線性規(guī)劃 157
9.2.4 最小二值問題 163
9.3 概率統(tǒng)計與分析 166
9.3.1 統(tǒng)計量操作 166
9.3.2 統(tǒng)計分析 167
9.3.3 概率密度與分布 169
9.4 小波分析 170
9.4.1 小波分析基礎 170
9.4.2 去噪與壓縮 175
9.5 綜合應用 180
9.6 疑難解答 182
第 10 章 圖形句柄
10.1 句柄對象 184
10.2 對象屬性 185
10.3 圖形句柄創(chuàng)建實例 186
10.4 綜合應用 191
10.5 疑難解答 192
第 Ⅲ 篇數(shù)據(jù)可視化
第 11 章 二維數(shù)據(jù)可視化
11.1 圖形繪制基礎 197
11.1.1 離散數(shù)據(jù)及離散函數(shù) 197
11.1.2 連續(xù)函數(shù) 197
11.1.3 圖形繪制的基本步驟 198
11.1.4 圖形繪制示例 198
11.2 二維圖形繪制 199
11.2.1 plot指令 199
11.2.2 格柵 202
11.2.3 文字說明 203
11.2.4 線型、標記和顏色 204
11.2.5 坐標軸設置 205
11.2.6 圖形疊繪 208
11.2.7 子圖繪制 208
11.2.8 交互式繪圖 209
11.2.9 雙坐標軸繪圖 210
11.2.10 fplot繪圖指令 211
11.2.11 ezplot繪圖指令 212
11.2.12 特殊坐標軸繪圖 213
11.3 二維特殊圖形函數(shù) 215
11.3.1 柱狀圖 215
11.3.2 面積圖 216
11.3.3 實心圖 217
11.3.4 向量圖 218
11.3.5 餅圖 219
11.3.6 直方圖 220
11.4 疑難解答 220
第 12 章 三維數(shù)據(jù)可視化
12.1 三維圖形繪制 222
12.1.1 曲線圖繪制 222
12.1.2 三維網(wǎng)線圖繪制 223
12.1.3 曲面圖的繪制 225
12.2 三維隱函數(shù)繪圖 226
12.3 三維圖形的修飾處理 228
12.3.1 三維圖形的視點處理 228
12.3.2 色彩處理 229
12.3.3 光照處理 230
12.4 疑難解答 231
第、 篇編程設計
第 13 章 圖形用戶界面設計
13.1 使用GUIDE創(chuàng)建GUI 235
13.1.1 GUIDE編輯界面簡介 235
13.1.2 菜單設計實例 236
13.1.3 包含控件的GUI設計實例 237
13.1.4 M文件和FIG文件 241
13.2 GUI編程 241
13.3 實例解析 243
13.3.1 實例1:peaks函數(shù)的輪廓圖繪制 243
13.3.2 實例2:用控件控制圖形的屬性 246
13.3.3 實例3:TeapotdemoGUI的制作過程剖析 251
13.4 疑難解答 254
第 14 章 Simulink仿真基礎
14.1 Simulink 簡介 256
14.2 一個簡單的Simulink仿真示例 256
14.3 Simulink的基本模塊 259
14.3.1 Simulink的基本模塊及其功能 259
14.3.2 常用模塊的參數(shù)和屬性設置 261
14.4 Simulink的基本操作 264
14.4.1 Simulink的文件操作 264
14.4.2 模塊的操作 264
14.4.3 信號線的操作 265
14.4.4 給模型添加文本注釋 266
14.5復雜系統(tǒng)的仿真 266
14.5.1 仿真的設置 267
14.5.2 連續(xù)系統(tǒng)仿真示例 269
14.5.3 離散系統(tǒng)仿真示例 270
14.6 子系統(tǒng)與封裝 272
14.6.1 建立子系統(tǒng) 272
14.6.2 子系統(tǒng)的封裝 273
14.7 疑難解答 276
第 15 章 文件讀取I/O
15.1 文件夾的管理 280
15.1.1 當前文件夾管理 280
15.1.2 創(chuàng)建文件夾 280
15.1.3 刪除文件夾 280
15.1.4 復制或移動文件夾 281
15.2 打開和關閉文件 281
15.2.1 打開文件 281
15.2.2 關閉文件 281
15.3 工作區(qū)文件—MAT文件 282
15.3.1 輸出數(shù)據(jù)到MAT文件 282
15.3.2 讀取MAT文件—load函數(shù) 283
15.4 讀/寫二進制文件 284
15.4.1 寫二進制文件 285
15.4.2 讀二進制文件 286
15.5 格式化讀寫文件 286
15.5.1 格式化讀取 286
15.5.2 格式化寫入 287
15.6 文件內(nèi)的位置控制 288
15.7 綜合應用 289
15.8 疑難解答 290
第 16 章 MATLAB編譯器
16.1 MATLAB編譯器概述 292
16.2 編譯器的安裝與配置 292
16.2.1 編譯器的安裝 292
16.2.2 編譯器的配置 292
16.3 編譯命令mcc 293
16.4 編譯生成獨立運行程序 293
16.4.1 編譯M文件 294
16.4.2 編譯圖形繪制M文件 294
16.4.3 由含feval 指令的M 文件生成EXE文件 296
16.5 綜合應用 297
16.6 疑難解答 298
第 17 章 外部接口應用
17.1 接口概述 300
17.1.1 MEX 文件介紹 300
17.1.2 MAT 文件介紹 300
17.1.3 MATLAB 計算引擎介紹 300
17.2 基于C/C++語言的MEX 文件應用 301
17.2.1 MEX 文件結(jié)構(gòu) 301
17.2.2 創(chuàng)建C/C++ MEX 文件 302
17.2.3 調(diào)試C/C++語言MEX 程序文件 303
17.3 基于C/C++語言的MAT 文件應用 303
17.3.1 使用C/C++語言讀取和創(chuàng)建MAT文件的過程 303
17.3.2 使用C/C++語言讀取MAT 文件示例 304
17.3.3 使用C/C++語言創(chuàng)建MAT 文件示例 306
17.4 基于C/C++語言的計算引擎應用 310
17.4.1 MATLAB引擎庫函數(shù) 310
17.4.2 創(chuàng)建MATLAB引擎調(diào)用源程序 311
17.5 MATLAB中Java語言的調(diào)用 315
17.5.1 Java接口使用 315
17.5.2 Java接口編程應用示例 316
17.6 綜合應用 317
17.7 疑難解答 320
第、 篇綜合實戰(zhàn)
第 18 章 MATLAB在信號與系統(tǒng)中的應用
18.1 典型連續(xù)時間信號描述及運算 323
18.1.1 典型連續(xù)信號波形的繪制 323
18.1.2 連續(xù)時間信號的運算 325
18.2 線性系統(tǒng)時域分析 326
18.2.1 連續(xù)時間信號卷積 326
18.2.2 線性系統(tǒng)時域分析 328
18.3 連續(xù)系統(tǒng)頻域分析 330
18.4 連續(xù)時間系統(tǒng)S域零極點分析 332
18.4.1 零極點分布與系統(tǒng)穩(wěn)定性 332
18.4.2 零極點分布與系統(tǒng)沖激響應時域特性 333
18.4.3 由連續(xù)系統(tǒng)零極點分布分析系統(tǒng)的頻率特性 335
18.5 綜合應用 337
18.6 疑難解答 338
第 19 章 MATLAB在數(shù)字信號處理中的應用
19.1 離散時間信號的MATLAB實現(xiàn) 342
19.1.1 正弦序列 342
19.1.2 指數(shù)序列 342
19.1.3 單位抽樣序列 344
19.1.4 單位階躍序列 345
19.2 基于MATLAB的快速Fourier變換 346
19.2.1 快速Fourier變換的用法 346
19.2.2 運用FFT進行簡單濾波 348
19.3 IIR數(shù)字濾波器的設計 349
19.3.1 模擬原型濾波器 349
19.3.2 頻率變換 350
19.3.3 濾波器最小階數(shù)選擇 351
19.3.4 模擬濾波器到數(shù)字濾波器的轉(zhuǎn)換 352
19.3.5 完全工具函數(shù)設計IIR濾波器 354
19.4 IIR濾波器直接設計 356
19.5 FIR濾波器設計 357
19.5.1 運用窗函數(shù)設計數(shù)字濾波器 357
19.5.2 標準型FIR濾波器 359
19.5.3 多頻帶FIR濾波器 360
19.6 綜合應用 361
19.7 疑難解答 362
第 20 章 MATLAB在通信原理中的應用
20.1 幅度調(diào)制 364
20.1.1 BASK調(diào)制 364
20.1.2 MASK調(diào)制 365
20.1.3 QAM調(diào)制 366
20.2 相位調(diào)制 367
20.2.1 PSK調(diào)制 367
20.2.2 OQPSK調(diào)制 368
20.3 頻率調(diào)制 369
20.3.1 BFSK調(diào)制 370
20.3.2 MFSK調(diào)制 371
20.3.3 CPM調(diào)制 372
20.4 數(shù)字信號的解調(diào) 376
20.4.1 BASK解調(diào) 376
20.4.2 QAM解調(diào) 377
20.4.3 BPSK解調(diào) 378
20.4.4 BFSK解調(diào) 380
20.5 綜合應用 381
20.6 疑難解答 383
第 21 章 MATLAB在圖像處理領域的應用
21.1 圖像表達與顯示 386
21.1.1 圖像類型及存儲方式 386
21.1.2 圖像轉(zhuǎn)換 386
21.1.3 讀/寫圖像文件 386
21.1.4 圖像顯示 387
21.1.5 彩色圖像表示模式 387
21.1.6 常用的彩色圖像處理函數(shù) 387
21.2 圖像運算 389
21.2.1 直方圖 389
21.2.2 直方圖均衡 389
21.2.3 灰度線性變換 390
21.2.4 灰度非線性變換 391
21.3 圖像變換 392
21.3.1 圖像縮放 392
21.3.2 圖像旋轉(zhuǎn) 393
21.4 圖像分析與增強 393
21.4.1 線性空域濾波 394
21.4.2 非線性空域濾波 394
21.5 圖像區(qū)域處理 395
21.5.1 最大類間方差法 396
21.5.2 常用的彩色圖像處理函數(shù) 396
21.6 綜合應用 398
21.7 疑難解答 400
第 22 章 MATLAB在金融領域的應用
22.1 數(shù)據(jù)讀取 402
22.2 繪制線型圖 402
22.3 繪制K線圖 403
22.4 繪制移動平均線 404
22.5 繪制布林帶 406
22.6 綜合應用 408
22.7 疑難解答 409