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