本書(shū)以MATLAB 2020版本的功能敘述為主,由淺入深地全面講解MATLAB軟件的知識(shí)。本書(shū)自始至終采用實(shí)例描述,內(nèi)容完整且各章相對(duì)獨(dú)立,是一本簡(jiǎn)明的MATLAB參考書(shū)。
本書(shū)涉及面廣,涵蓋一般用戶(hù)需要使用的各種功能,并詳細(xì)介紹MATLAB常用工具箱的使用。全書(shū)共15章,前12章主要介紹MATLAB的基礎(chǔ)知識(shí)、數(shù)組及其操作、數(shù)值計(jì)算、數(shù)據(jù)分析、符號(hào)運(yùn)算、關(guān)系運(yùn)算與邏輯運(yùn)算、函數(shù)、程序設(shè)計(jì)、數(shù)據(jù)圖形可視化、句柄圖形對(duì)象、Simulink仿真等內(nèi)容,后3章重點(diǎn)介紹MATLAB在圖像處理、信號(hào)處理、小波分析中的應(yīng)用。
本書(shū)以實(shí)用為目標(biāo),講解細(xì)致,既適合作為高等院校理工科研究生、本科生教學(xué)用書(shū),也可作為廣大科研人員和工程技術(shù)人員的參考用書(shū)。
前言
第1章 初識(shí)MATLAB1
1.1 MATLAB簡(jiǎn)介1
1.2 MATLAB R2020a的工作環(huán)境3
1.2.1 操作界面簡(jiǎn)介3
1.2.2 命令行窗口3
1.2.3 命令歷史記錄窗口7
1.2.4 變量命名規(guī)則8
1.2.5 當(dāng)前文件夾窗口和路徑管理9
1.2.6 搜索路徑10
1.2.7 工作區(qū)窗口和數(shù)組編輯器12
1.2.8 變量的編輯命令13
1.2.9 存取數(shù)據(jù)文件14
1.3 MATLAB R2020a的幫助系統(tǒng)15
1.3.1 純文本幫助15
1.3.2 幫助導(dǎo)航16
1.3.3 示例幫助16
1.4 小結(jié)17
第2章 MATLAB語(yǔ)言基礎(chǔ)18
2.1 基本概念18
2.1.1 MATLAB數(shù)據(jù)類(lèi)型概述18
2.1.2 整數(shù)類(lèi)型19
2.1.3 浮點(diǎn)數(shù)類(lèi)型21
2.1.4 復(fù)數(shù)23
2.1.5 無(wú)窮量和非數(shù)值量24
2.1.6 數(shù)值類(lèi)型的顯示格式24
2.1.7 確定數(shù)值類(lèi)型的函數(shù)25
2.1.8 常量與變量26
2.1.9 標(biāo)量、向量、矩陣與數(shù)組26
2.1.10 字符串27
2.1.11 運(yùn)算符28
2.1.12 命令、函數(shù)、表達(dá)式和語(yǔ)句30
2.2 向量運(yùn)算31
2.2.1 向量的生成31
2.2.2 向量的加、減、乘、除運(yùn)算33
2.2.3 向量的點(diǎn)積、叉積運(yùn)算34
2.3 矩陣運(yùn)算35
2.3.1 矩陣元素的存儲(chǔ)次序36
2.3.2 矩陣元素的表示及相關(guān)操作36
2.3.3 矩陣的創(chuàng)建39
2.3.4 矩陣的代數(shù)運(yùn)算46
2.4 字符串運(yùn)算53
2.4.1 字符串變量與一維字符數(shù)組53
2.4.2 對(duì)字符串的操作54
2.4.3 二維字符數(shù)組56
2.5 小結(jié)57
第3章 數(shù)組及其操作58
3.1 MATLAB中的數(shù)組58
3.2 數(shù)組的創(chuàng)建59
3.2.1 創(chuàng)建空數(shù)組59
3.2.2 創(chuàng)建一維數(shù)組59
3.2.3 創(chuàng)建二維數(shù)組60
3.2.4 創(chuàng)建三維數(shù)組61
3.2.5 創(chuàng)建低維標(biāo)準(zhǔn)數(shù)組65
3.2.6 創(chuàng)建高維標(biāo)準(zhǔn)數(shù)組66
3.3 數(shù)組的屬性67
3.3.1 數(shù)組的結(jié)構(gòu)68
3.3.2 數(shù)組的大小68
3.3.3 數(shù)組的維度69
3.3.4 數(shù)組的數(shù)據(jù)類(lèi)型70
3.3.5 數(shù)組的內(nèi)存占用71
3.4 創(chuàng)建特殊數(shù)組71
3.4.1 0-1數(shù)組72
3.4.2 對(duì)角數(shù)數(shù)組72
3.4.3 隨機(jī)數(shù)組73
3.4.4 魔方數(shù)組74
3.5 數(shù)組操作74
3.5.1 數(shù)組的保存和裝載74
3.5.2 數(shù)組索引和尋址75
3.5.3 數(shù)組的擴(kuò)展和裁剪78
3.5.4 數(shù)組形狀的改變84
3.5.5 數(shù)組運(yùn)算87
3.5.6 數(shù)組的查找90
3.5.7 數(shù)組的排序91
3.5.8 高維數(shù)組的降維92
3.6 多維數(shù)組及其操作93
3.6.1 多維數(shù)組的屬性93
3.6.2 多維數(shù)組的操作94
3.7 小結(jié)97
第4章 數(shù)值計(jì)算98
4.1 矩陣分析98
4.1.1 使用norm函數(shù)進(jìn)行范數(shù)分析98
4.1.2 使用normest函數(shù)進(jìn)行范數(shù)分析100
4.1.3 條件數(shù)分析101
4.1.4 數(shù)值矩陣的行列式103
4.1.5 符號(hào)矩陣的行列式104
4.1.6 化零矩陣104
4.2 線(xiàn)性方程組求解105
4.2.1 直接法106
4.2.2 迭代法107
4.3 矩陣分解111
4.3.1 Cholesky分解111
4.3.2 使用Cholesky分解求解方程組112
4.3.3 不完全Cholesky分解113
4.3.4 LU分解114
4.3.5 不完全LU分解115
4.3.6 QR分解116
4.3.7 處理QR分解結(jié)果118
4.3.8 奇異值分解118
4.4 特征值分析119
4.4.1 特征值和特征向量120
4.4.2 求稀疏矩陣的特征值和特征向量121
4.4.3 特征值問(wèn)題的條件數(shù)122
4.4.4 特征值的復(fù)數(shù)問(wèn)題123
4.5 函數(shù)的零點(diǎn)125
4.5.1 一元函數(shù)的零點(diǎn)125
4.5.2 多元函數(shù)的零點(diǎn)126
4.6 數(shù)值積分128
4.6.1 一元函數(shù)的數(shù)值積分128
4.6.2 矩形區(qū)域的多重?cái)?shù)值積分130
4.6.3 變量區(qū)域的多重?cái)?shù)值積分130
4.7 概率論與數(shù)理統(tǒng)計(jì)134
4.7.1 雙變量的概率分布134
4.7.2 不同概率分布135
4.7.3 數(shù)據(jù)分布分析137
4.8 小結(jié)138
第5章 數(shù)據(jù)分析139
5.1 插值139
5.1.1 一維插值命令及實(shí)例139
5.1.2 二維插值命令及實(shí)例142
5.1.3 樣條插值144
5.2 曲線(xiàn)擬合145
5.2.1 多項(xiàng)式擬合146
5.2.2 加權(quán)最小方差擬合原理及實(shí)例147
5.3 曲線(xiàn)擬合圖形界面149
5.3.1 曲線(xiàn)擬合窗口149
5.3.2 繪制擬合殘差圖形151
5.3.3 進(jìn)行數(shù)據(jù)預(yù)測(cè)151
5.4 傅里葉分析152
5.4.1 離散傅里葉變換152
5.4.2 FFT和DFT155
5.5 微分方程157
5.5.1 常微分方程的數(shù)值解157
5.5.2 偏微分方程的數(shù)值解160
5.6 小結(jié)165
第6章 符號(hào)運(yùn)算166
6.1 符號(hào)運(yùn)算的基本概念166
6.1.1 符號(hào)對(duì)象166
6.1.2 創(chuàng)建符號(hào)對(duì)象的函數(shù)sym( )、syms( )與class( )167
6.1.3 符號(hào)常量168
6.1.4 符號(hào)變量169
6.1.5 符號(hào)表達(dá)式、符號(hào)函數(shù)與符號(hào)方程170
6.1.6 函數(shù)symvar( )171
6.1.7 數(shù)組、矩陣與符號(hào)矩陣172
6.2 符號(hào)運(yùn)算的基本內(nèi)容174
6.2.1 符號(hào)變量代換及其函數(shù)subs( )174
6.2.2 將符號(hào)對(duì)象轉(zhuǎn)換為數(shù)值對(duì)象的函數(shù)175
6.2.3 符號(hào)表達(dá)式的化簡(jiǎn)177
6.2.4 其他符號(hào)運(yùn)算函數(shù)181
6.2.5 兩種特定的符號(hào)運(yùn)算函數(shù)182
6.3 符號(hào)微積分運(yùn)算及應(yīng)用184
6.3.1 符號(hào)極限運(yùn)算185
6.3.2 符號(hào)微分運(yùn)算187
6.3.3 符號(hào)積分運(yùn)算188
6.4 符號(hào)矩陣及其運(yùn)算189
6.4.1 符號(hào)矩陣的建立與訪(fǎng)問(wèn)189
6.4.2 符號(hào)矩陣的基本運(yùn)算194
6.4.3 符號(hào)矩陣的微分與積分199
6.4.4 符號(hào)矩陣的Laplace變換200
6.5 符號(hào)方程求解201
6.5.1 符號(hào)代數(shù)方程求解201
6.5.2 符號(hào)微分方程求解202
6.6 符號(hào)函數(shù)圖形計(jì)算器FUNTOOL205
6.6.1 符號(hào)函數(shù)圖形計(jì)算器的界面205
6.6.2 符號(hào)函數(shù)圖形計(jì)算器的輸入框操作206
6.6.3 符號(hào)函數(shù)圖形計(jì)算器的按鈕操作206
6.7 小結(jié)207
第7章 關(guān)系運(yùn)算與邏輯運(yùn)算208
7.1 邏輯類(lèi)型的數(shù)據(jù)208
7.2 關(guān)系運(yùn)算209
7.3 邏輯運(yùn)算210
7.3.1 逐個(gè)元素的邏輯運(yùn)算210
7.3.2 捷徑邏輯運(yùn)算211
7.3.3 逐位邏輯運(yùn)算212
7.4 邏輯函數(shù)與測(cè)試函數(shù)213
7.5 運(yùn)算優(yōu)先級(jí)214
7.6 小結(jié)215
第8章 函數(shù)216
8.1 M文件216
8.1.1 M文件概述216
8.1.2 局部變量與全局變量217
8.1.3 M文件的編輯與運(yùn)行218
8.1.4 M文件的結(jié)構(gòu)219
8.1.5 腳本文件219
8.1.6 函數(shù)文件220
8.1.7 函數(shù)調(diào)用221
8.1.8 M文件調(diào)試工具224
8.1.9 M文件分析工具226
8.2 MATLAB的變量229
8.2.1 M文件的變量類(lèi)型229
8.2.2 M文件的關(guān)鍵字230
8.3 函數(shù)類(lèi)型230
8.3.1 匿名函數(shù)230
8.3.2 M文件主函數(shù)232
8.3.3 嵌套函數(shù)232
8.3.4 子函數(shù)233
8.3.5 私有函數(shù)233
8.3.6 重載函數(shù)233
8.4 參數(shù)傳遞234
8.4.1 參數(shù)傳遞概述234
8.4.2 輸入和輸出參數(shù)的數(shù)目234
8.4.3 可變數(shù)目的參數(shù)傳遞235
8.4.4 返回被修改的輸入?yún)?shù)236
8.4.5 全局變量237
8.5 小結(jié)238
第9章 程序設(shè)計(jì)239
9.1 MATLAB的程序結(jié)構(gòu)239
9.1.1 if分支結(jié)構(gòu)239
9.1.2 switch分支結(jié)構(gòu)241
9.1.3 while循環(huán)結(jié)構(gòu)242
9.1.4 for循環(huán)結(jié)構(gòu)243
9.2 MATLAB的控制245
9.2.1 continue命令245
9.2.2 break命令246
9.2.3 return命令247
9.2.4 input命令247
9.2.5 keyboard命令248
9.2.6 error和warning命令248
9.3 數(shù)據(jù)的輸入與輸出249
9.3.1 鍵盤(pán)輸入命令input250
9.3.2 屏幕輸出命令disp250
9.3.3 M數(shù)據(jù)文件的存儲(chǔ)/加載命令save/load250
9.3.4 格式化文本文件的存儲(chǔ)/讀取命令fprintf/fscanf250
9.3.5 二進(jìn)制數(shù)據(jù)文件的存儲(chǔ)/讀取命令fwrite/fread251
9.3.6 數(shù)據(jù)文件行的存儲(chǔ)/讀取命令fgetl/fgets251
9.4 MATLAB文件操作251
9.5 面向?qū)ο蟪绦蛟O(shè)計(jì)253
9.5.1 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本方法253
9.5.2 面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)例255
9.6 MATLAB程序優(yōu)化258
9.6.1 效率優(yōu)化(時(shí)間優(yōu)化)258
9.6.2 內(nèi)存優(yōu)化(空間優(yōu)化)259
9.6.3 編程注意事項(xiàng)264
9.6.4 幾個(gè)常用數(shù)學(xué)方法的算法程序265
9.7 程序調(diào)試274
9.7.1 程序調(diào)試命令274
9.7.2 程序剖析275
9.8 小結(jié)279
第10章 數(shù)據(jù)圖形可視化280
10.1 MATLAB圖形窗口280
10.1.1 創(chuàng)建圖形窗口280
10.1.2 關(guān)閉與清除圖形框281
10.2 二維圖形的繪制281
10.2.1 繪制二維曲線(xiàn)282
10.2.2 繪制離散序列圖283
10.2.3 其他類(lèi)型的二維圖284
10.2.4 二維圖形的修飾286
10.2.5 子圖288
10.3 三維圖形的繪制290
10.3.1 三維折線(xiàn)及曲線(xiàn)的基本繪圖命令290
10.3.2 繪制三維曲面292
10.3.3 三維圖形的視角變換295
10.3.4 其他圖形函數(shù)296
10.4 圖像299
10.4.1 圖像的類(lèi)別和顯示299
10.4.2 圖像的讀寫(xiě)301
10.5 函數(shù)繪制302
10.5.1 一元函數(shù)繪圖302
10.5.2 二元函數(shù)繪圖303
10.6 圖形對(duì)象及其屬性設(shè)置305
10.6.1 MATLAB的圖形對(duì)象305
10.6.2 句柄——圖形對(duì)象的標(biāo)識(shí)307
10.6.3 圖形對(duì)象屬性的獲取與設(shè)定307
10.6.4 圖形對(duì)象常用屬性309
10.6.5 圖形可視編輯工具310
10.7 小結(jié)311
第11章 句柄圖形對(duì)象312
11.1 句柄圖形對(duì)象概述312
11.2 get和set函數(shù)314
11.2.1 get函數(shù)314
11.2.2 set函數(shù)315
11.3 查找對(duì)象318
11.4 圖形窗口對(duì)象320
11.5 核心圖形對(duì)象321
11.6 默認(rèn)屬性322
11.7 非文件式屬性324
11.8 小結(jié)325
第12章 Simulink仿真系統(tǒng)326
12.1 Simulink基礎(chǔ)知識(shí)326
12.1.1 Simulink概述326
12.1.2 Simulink的特點(diǎn)327
12.1.3 Simulink工作環(huán)境328
12.1.4 Simulink仿真的基本步驟329
12.2 模型的創(chuàng)建330
12.2.1 模型概念及文件操作330
12.2.2 模塊操作332
12.2.3 信號(hào)線(xiàn)操作334
12.2.4 對(duì)模型的注釋336
12.2.5 Source庫(kù)中常用的模塊336
12.2.6 Sink庫(kù)中常用的模塊342
12.2.7 仿真的配置347
12.2.8 啟動(dòng)仿真351
12.3 Simulink系統(tǒng)仿真原理352
12.3.1 Simulink求解器概念353
12.3.2 系統(tǒng)過(guò)零的概念與解決方案354
12.3.3 系統(tǒng)代數(shù)環(huán)的概念與解決方案358
12.4 高級(jí)積分器360
12.5 小結(jié)363
第13章 MATLAB與圖像處理364
13.1 圖像類(lèi)型364
13.1.1 真彩色圖像364
13.1.2 索引色圖像365
13.1.3 灰度圖像365
13.1.4 二值圖像366
13.1.5 多幀圖像366
13.1.6 讀寫(xiě)圖像數(shù)據(jù)367
13.1.7 查看圖像文件信息368
13.2 顯示圖像369
13.2.1 默認(rèn)顯示方式369
13.2.2 添加顏色條370
13.2.3 顯示多幀圖像370
13.2.4 顯示動(dòng)畫(huà)371
13.2.5 三維材質(zhì)圖像371
13.3 圖像的灰度變換372
13.3.1 圖像的直方圖372
13.3.2 灰度變換373
13.3.3 均衡直方圖375
13.4 小結(jié)376
第14章 MATLAB與信號(hào)處理377
14.1 產(chǎn)生信號(hào)377
14.1.1 鋸齒波、三角波和矩形波發(fā)生器378
14.1.2 周期sinc波379
14.1.3 高斯調(diào)幅正弦波380
14.1.4 調(diào)頻信號(hào)381
14.1.5 高斯分布隨機(jī)序列382
14.2 隨機(jī)信號(hào)處理383
14.2.1 隨機(jī)信號(hào)的互相關(guān)函數(shù)383
14.2.2 隨機(jī)信號(hào)的互協(xié)方差函數(shù)385
14.2.3 譜分析——pwelch函數(shù)386
14.3 模擬濾波器設(shè)計(jì)388
14.3.1 巴特沃斯濾波器388
14.3.2 切比雪夫I型濾波器389
14.3.3 切比雪夫Ⅱ型濾波器390
14.4 IIR數(shù)字濾波器設(shè)計(jì)391
14.4.1 巴特沃斯數(shù)字濾波器設(shè)計(jì)392
14.4.2 切比雪夫I 型數(shù)字濾波器設(shè)計(jì)393
14.4.3 切比雪夫II 型數(shù)字濾波器設(shè)計(jì)394
14.5 小結(jié)395
第15章 MATLAB與小波分析396
15.1 傅里葉變換到小波分析396
15.1.1 傅里葉變換397
15.1.2 小波分析399
15.1.3 常用的小波函數(shù)400
15.2 Mallat算法401
15.2.1 Mallat算法原理401
15.2.2 Mallat算法示例404
15.3 小波分析工具箱408
15.4 小波分析用例409
15.4.1 信號(hào)壓縮409
15.4.2 信號(hào)去噪410
15.5 小結(jié)414
附錄 MATLAB基本命令415