MATLAB R2020a入門、精通與實戰

 軟件圖書  圖書/計算機與互聯網/輔助設計與工程計算
產品特色

編輯推薦

本書結構合理、敘述詳細、算例豐富、圖文并茂,可以作為信號處理、自動控制、機械電子、自動化、電力電氣、通信工程等專業的教學用書,也可以作為通信、電子、自動控制等領域的廣大科研工作者、工程師等的自學參考用書。


內容簡介

MATLAB是 MathWorks公司推出的高性能數值計算和可視化軟件,它集數值計算、矩陣運算和圖形可視化于一體,方便地應用于算法開發、數據采集、數學建模、科學計算、系統仿真、數據分析等方面。本書基于R2020a版本,由淺入深且系統地介紹了MATLAB應用。全書共13章,內容涉及初識MATLAB、基礎知識、向量與矩陣、矩陣運算、數學函數、數據繪圖、圖形處理、程序設計、數值計算、符號計算、句柄圖形、輸入與輸出、 Simulink仿真。全書語言通俗易懂,內容豐富翔實;突出以實例為中心的特點,通過大量的實例,實現理論與實踐的結合,可以幫助讀者快速、輕松地掌握 MATLAB。

作者簡介

劉浩,男,畢業于天津工業大學。04年獲得Adobe系列產品專家證書,ACCD平面設計師證書,CEAC國家信息產業平面設計師證書。上海碧海金沙設計總監,上海Nordri設計工作室(上海諾睿網絡信息科技有限公司)創始人兼任設計總監,北京拓撲人咨詢高級顧問,wps office簽約講師,復旦MBA港大項目組簽約講師。

目錄

第1 章 初識MATLAB? ?1

1.1 MATLAB 的工作環境? ?2

1.1.1 操作界面? ?2

1.1.2 當前文件夾窗口? 2

1.1.3 命令行窗口? ?3

1.1.4 工作區窗口? ?5

1.2 通用命令? ?6

1.2.1 常用命令? ?6

1.2.2 快捷鍵? ?6

1.2.3 標點符號的含義? 7

1.3 搜索路徑設置? ?7

1.4 MATLAB 的幫助系統? ?9

1.4.1 使用幫助命令? ?9

1.4.2 幫助導航系統? 10

1.4.3 示例程序的幫助系統? 11

1.5 MATLAB 示例? ?11

1.6 本章小結? ?12

第2 章 基礎知識? ?13

2.1 基本概念? ?14

2.1.1 常量和變量? ?15

2.1.2 數組、矩陣、標量與向量? 15

2.1.3 命令與函數? ?16

2.1.4 表達式與語句? 17

2.2 數據類型? ?17

2.2.1 數值類型? ?18

2.2.2 邏輯類型? ?20

2.2.3 字符和字符串? 20

2.2.4 結構體類型? ?20

2.2.5 單元數組類型? 23

MATLAB R2020a 入門、精通與實戰

VI

2.2.6 函數句柄? ?24

2.3 運算符? ?25

2.3.1 算術運算符? ?25

2.3.2 關系運算符? ?26

2.3.3 邏輯運算符? ?27

2.3.4 運算優先級? ?28

2.4 字符串? ?29

2.4.1 字符串的構造? 29

2.4.2 字符串的比較? 31

2.4.3 字符串查找和替換函數? 32

2.4.4 字符串與數值的轉換? 32

2.5 本章小結? ?33

第3 章 向量與矩陣? ?34

3.1 向量? ?35

3.1.1 創建向量? ?35

3.1.2 向量的加減乘除運算? 36

3.1.3 向量的點積和叉積運算? 37

3.2 矩陣? ?38

3.2.1 矩陣的構造? ?38

3.2.2 矩陣的拓展與裁剪? 39

3.2.3 矩陣下標引用? 42

3.2.4 矩陣信息的獲取? 43

3.2.5 矩陣結構的改變? 44

3.3 稀疏矩陣? ?45

3.3.1 創建和查看稀疏矩陣? 45

3.3.2 稀疏矩陣的運算規則? 46

3.4 本章小結? ?47

第4 章 矩陣運算? ?48

4.1 矩陣分析? ?49

4.1.1 范數? ?49

4.1.2 矩陣的秩? ?50

4.1.3 矩陣的行列式? 50

4.1.4 矩陣的跡? ?51

4.1.5 矩陣的正交空間? 51

4.1.6 矩陣的化零矩陣? 51

4.1.7 矩陣的約化行階梯形式? 52

目錄

VII

4.1.8 矩陣空間之間的夾角? 52

4.2 線性方程組? ?53

4.2.1 線性方程組問題? 53

4.2.2 線性方程組的一般解? 53

4.2.3 恰定方程組的求解? 54

4.2.4 超定線性方程組的求解? 54

4.3 矩陣分解? ?55

4.3.1 對稱正定矩陣的Cholesky 分解? 55

4.3.2 一般方陣的高斯消元法? 56

4.3.3 矩形矩陣的正交分解? 57

4.4 矩陣的特征值和特征向量? 58

4.5 非線性矩陣運算? ?59

4.5.1 矩陣指數運算? 59

4.5.2 矩陣對數運算? 60

4.5.3 矩陣開平方運算? 60

4.5.4 一般非線性矩陣運算? 61

4.6 本章小結? ?61

第5 章 數學函數? ?62

5.1 初等函數運算? ?63

5.1.1 三角函數? ?63

5.1.2 指數和對數函數? 64

5.1.3 復數函數? ?65

5.1.4 截斷和求余函數? 66

5.2 特殊數學函數運算? ?67

5.2.1 特殊函數? ?67

5.2.2 坐標變換函數? 71

5.2.3 數論函數? ?71

5.3 本章小結? ?72

第6 章 數據繪圖? ?73

6.1 二維圖形的繪制? ?74

6.1.1 plot 二維繪圖命令? 74

6.1.2 多次疊圖和多子圖操作? 77

6.1.3 fplot 二維繪圖命令? 79

6.1.4 ezplot 二維繪圖命令? 80

6.2 三維圖形的繪制? ?81

6.2.1 plot3? ?81

6.2.2 三維網格圖和三維曲面圖的繪制? 82

MATLAB R2020a 入門、精通與實戰

VIII

6.2.3 其他三維繪圖命令? 83

6.3 特殊圖形的繪制? ?85

6.3.1 二維特殊圖形函數? 86

6.3.2 三維特殊圖形函數? 92

6.3.3 特殊坐標軸函數? 95

6.3.4 四維表現圖(三維體切片平面)? 98

6.4 本章小結? ?99

第7 章 圖形處理? ?100

7.1 圖形標識? ?101

7.1.1 坐標軸與圖形標注? 101

7.1.2 圖形的文本標注? 102

7.1.3 圖例的標注? ?103

7.2 圖形控制? ?104

7.2.1 圖形數據取點? 104

7.2.2 坐標軸控制? ?105

7.2.3 視角與透視控制? 108

7.2.4 圖形色彩控制? 111

7.2.5 光照控制? ?115

7.3 圖形窗口的操作? ?117

7.3.1 圖形窗口的創建? 118

7.3.2 圖形窗口的菜單操作? 118

7.3.3 圖形窗口工具欄? 122

7.3.4 圖形的打印與輸出? 124

7.4 本章小結? ?124

第8 章 程序設計? ?125

8.1 M 文件? ?126

8.1.1 函數? ?126

8.1.2 腳本? ?127

8.2 語法規則? ?128

8.2.1 程序設計中的變量? 128

8.2.2 編程方法? ?130

8.2.3 順序語句? ?130

8.2.4 循環語句? ?130

8.2.5 條件語句? ?131

8.2.6 其他流程控制語句? 133

8.3 程序調試? ?134

8.3.1 直接調試法? ?134

8.3.2 工具調試法? ?135

目錄

IX

8.3.3 程序調試命令? 137

8.3.4 程序剖析? ?138

8.4 程序設計與實現? ?142

8.4.1 建立數學模型? 142

8.4.2 代碼編寫? ?143

8.5 本章小結? ?144

第9 章 數值計算? ?145

9.1 線性方程組的解法? ?146

9.1.1 解線性方程組的直接法? 146

9.1.2 解線性方程組的迭代法? 148

9.1.3 利用MATLAB 求解線性方程組? 150

9.2 數值逼近方法? ?153

9.2.1 插值? ?153

9.2.2 曲線擬合? ?158

9.2.3 數值積分? ?161

9.3 常微分方程(組)的數值求解? 163

9.3.1 常微分方程初值問題的離散化? 164

9.3.2 常微分方程初值問題? 165

9.4 數據分析和多項式? ?170

9.4.1 基本數據分析函數? 170

9.4.2 多項式函數? ?173

9.5 本章小結? ?175

第10 章 符號計算? ?176

10.1 符號運算入門? ?177

10.1.1 求方程的根? 177

10.1.2 求函數的導數? 177

10.1.3 求解微分方程? 178

10.2 符號對象的創建和使用? 178

10.2.1 創建符號對象和表達式? 178

10.2.2 符號對象的基本運算? 181

10.3 符號表達式的操作? 182

10.3.1 符號表達式的替換? 182

10.3.2 精度計算? ?183

10.3.3 符號表達式的化簡? 184

10.4 符號微積分及其變換? 186

10.4.1 符號表達式的微分運算? 186

10.4.2 符號表達式的級數與積分? 188

10.4.3 符號積分變換? 189

MATLAB R2020a 入門、精通與實戰

X

10.5 符號矩陣的計算? ?191

10.5.1 代數基本運算? 191

10.5.2 線性代數運算? 191

10.5.3 特征值分解? 192

10.5.4 約當標準型? 192

10.5.5 奇異值分解? 193

10.6 符號方程求解? ?193

10.6.1 代數方程的求解? 194

10.6.2 微分方程的求解? 195

10.7 可視化數學分析窗口? 196

10.7.1 圖示化符號函數計算器? 196

10.7.2 Taylor 級數逼近分析器 197

10.8 本章小結? ?198

第11 章 句柄圖形? ?199

11.1 句柄圖形體系? ?200

11.1.1 圖形系統? ?200

11.1.2 句柄圖形的概念? 200

11.1.3 對象屬性及其檢測和變更? 202

11.2 圖形對象的操作? ?205

11.2.1 創建圖形對象? 206

11.2.2 查找對象? ?207

11.2.3 圖形對象的位置? 208

11.2.4 文本對象的位置? 209

11.3 屬性默認值和factory 屬性及打印位置? 211

11.3.1 設置屬性默認值? 211

11.3.2 factory 屬性? 214

11.3.3 打印位置? ?214

11.4 句柄的使用方法? ?215

11.4.1 訪問對象句柄? 215

11.4.2 使用句柄操作圖形對象? 216

11.4.3 刪除對象? ?217

11.4.4 控制圖形輸出? 217

11.4.5 在M 文件中保存句柄? 219

11.5 句柄圖形的應用舉例? 220

11.6 本章小結? ?222

第12 章 輸入與輸出? ?223

12.1 文件的打開與關閉? 224

12.1.1 打開文件? ?224

目錄

XI

12.1.2 關閉文件? ?225

12.2 文件的讀取與寫入? 225

12.2.1 讀取二進制文件? 225

12.2.2 寫入二進制文件? 227

12.2.3 寫入文本文件? 228

12.2.4 讀取文本文件? 230

12.2.5 文件格式化和二進制輸入/輸出比較? 231

12.3 文件位置控制和狀態函數? 233

12.3.1 exist 函數? ?234

12.3.2 ferror 函數? ?235

12.3.3 feof 函數? ?235

12.3.4 ftell 函數? ?235

12.3.5 frewind 函數? 235

12.3.6 fseek 函數? ?235

12.4 本章小結? ?237

第13 章 Simulink 仿真? ?238

13.1 Simulink 概論? ?239

13.1.1 Simulink 簡介 239

13.1.2 啟動Simulink? 239

13.1.3 Simulink 模型的特點 241

13.1.4 Simulink 實例 243

13.2 Simulink 模型創建? ?245

13.2.1 模塊操作? ?245

13.2.2 信號線操作? 246

13.2.3 模型的注釋? 248

13.2.4 系統建模和系統仿真的基本步驟? 249

13.2.5 信源Source? 253

13.2.6 信宿Sink? ?259

13.2.7 過零檢測? ?264

13.2.8 仿真配置? ?266

13.2.9 啟動仿真? ?270

13.3 子系統的創建與封裝? 271

13.3.1 子系統介紹? 271

13.3.2 創建子系統? 272

13.3.3 封裝子系統? 273

13.4 仿真模型的分析? ?276

13.4.1 確定模型的狀態? 276

13.4.2 平衡點的分析? 277

MATLAB R2020a 入門、精通與實戰

XII

13.4.3 微分方程的求解? 278

13.4.4 代數環? ?279

13.5 仿真的運行? ?280

13.5.1 啟動仿真? ?280

13.5.2 仿真的配置? 281

13.5.3 觀測仿真結果? 285

13.5.4 仿真調試? ?286

13.6 S 函數? ?287

13.6.1 S 函數的工作原理? 287

13.6.2 編寫S 函數? 287

13.7 Simulink 與MATLAB 結合建模實例? 291

13.8 本章小結? ?294

附錄A Simulink 模塊庫? ?295

參考文獻? ?304