MATLAB/Simulink實用教程——編程、計算與仿真(第2版)

薛定宇

  • 出版商: 清華大學
  • 出版日期: 2025-09-01
  • 售價: $414
  • 語言: 簡體中文
  • 頁數: 350
  • ISBN: 7302696977
  • ISBN-13: 9787302696971
  • 相關分類: Matlab
  • 下單後立即進貨 (約4週~6週)

  • MATLAB/Simulink實用教程——編程、計算與仿真(第2版)-preview-1
  • MATLAB/Simulink實用教程——編程、計算與仿真(第2版)-preview-2
  • MATLAB/Simulink實用教程——編程、計算與仿真(第2版)-preview-3
  • MATLAB/Simulink實用教程——編程、計算與仿真(第2版)-preview-4
  • MATLAB/Simulink實用教程——編程、計算與仿真(第2版)-preview-5
  • MATLAB/Simulink實用教程——編程、計算與仿真(第2版)-preview-6
  • MATLAB/Simulink實用教程——編程、計算與仿真(第2版)-preview-7
MATLAB/Simulink實用教程——編程、計算與仿真(第2版)-preview-1

相關主題

商品描述

"本書系統地介紹科學研究與工程應用領域使用廣泛的 MATLAB語言,全面介紹其基本編程方法,包 括數據結構、語句結構、流程控制、函數編寫、圖形繪制與面向對象編程技術等,並介紹 MATLAB語言在微 積分、線性代數、代數方程、微分方程、**化與數據處理領域的問題求解方法;本書還介紹基於 Simulink 的系統建模與仿真方法. 本書適合理工科各專業本科生、研究生以及工程技術人員學習 MATLAB語言,並利用 MATLAB 語 言解決科學運算、系統建模與仿真方法等問題."

作者簡介

薛定宇,1985年、1988年、1992年分別在沈陽工業大學、東北大學和英國Sussex大學獲得學士(1985年)、碩士(1988年)和博士學位(1992年),1997年任東北大學信息學院教授。深耕於計算機在數學與自動控制學科的應用,主持了國家精品課程建設,並於1996年在清華大學出版社出版《控制系統計算機輔助設計——MATLAB與應用》,該教材被認為是國內MATLAB應用領域具有深遠影響的一部圖書,為MATLAB在國內高校教學與科研中的普及起到了巨大的作用。薛定宇教授先後被評為遼寧省教學名師、遼寧省優秀教師,獲得國家教學成果二等獎。其主講的“控制系統仿真與CAD”課程被評為國家精品課程、國家精品資源共享課程;主講的“現代科學運算——MATLAB語言與應用”課程被評為遼寧省精品資源共享課程,配套錄制的全新慕課課程均上線於愛課程與中國慕課網站。

目錄大綱

目 錄

第1 章MATLAB 語言簡介…………………………………1

1.1 科學運算與仿真問題演示……………………………1

1.1.1 科學運算問題求解………………………………1

1.1.2 常規計算機語言的局限性…………………………2

1.2 MATLAB 語言…………………………………4

1.2.1 MATLAB 的出現與發展……………………………4

1.2.2 MATLAB 語言的特色……………………………5

1.3 科學運算問題的三步求解方法…………………………6

1.4 本書的結構……………………………………8

1.5 小項目………………………………………9

1.5.1 代數方程求解…………………………………9

1.5.2 微積分問題求解………………………………9

本章習題…………………………………………10

參考文獻…………………………………………10

第2 章MATLAB 的編程基礎…………………………………12

2.1 MATLAB 的基本操作………………………………12

2.1.1 MATLAB 主窗口………………………………12

2.1.2 MATLAB 工作路徑……………………………13

2.1.3 MATLAB 聯機幫助系統……………………………14

2.1.4 MATLAB 的顯示格式……………………………15

2.1.5 MATLAB 的工作空間與管理…………………………16

2.1.6 MATLAB 的其他輔助工具…………………………16

2.2 MATLAB 數據結構………………………………17

2.2.1 保留的常量…………………………………17

2.2.2 變量名與命名規則………………………………18

2.2.3 雙精度數據結構………………………………18

2.2.4 符號型數據結構與符號函數…………………………19

2.2.5 任意符號型矩陣的生成……………………………21

2.2.6 其他數據結構…………………………………21

2.2.7 數據結構的識別………………………………22

2.3 MATLAB 語句結構………………………………22

2.3.1 基本賦值語句…………………………………22

2.3.2 函數調用語句…………………………………23

2.3.3 冒號表達式…………………………………24

2.3.4 子矩陣的提取…………………………………24

VI MATLAB/Simulink 實用教程——編程、計算與仿真(第2 版)

2.3.5 MATLAB 的人機交互函數…………………………25

2.4 MATLAB 基本運算………………………………25

2.4.1 算術運算…………………………………25

2.4.2 超越函數運算…………………………………28

2.4.3 邏輯運算…………………………………29

2.4.4 比較運算…………………………………30

2.4.5 字符串運算…………………………………30

2.4.6 符號表達式的處理………………………………32

2.5 MATLAB 的文件操作………………………………33

2.5.1 MATLAB 工作空間變量的存取………………………33

2.5.2 文件讀寫函數…………………………………34

2.5.3 Microsoft Excel 文件的操作…………………………34

2.6 小項目………………………………………35

2.6.1 表格數據結構…………………………………35

2.6.2 獲得π 的更多位數字……………………………36

本章習題…………………………………………36

參考文獻…………………………………………37

第3 章MATLAB 的流程結構…………………………………38

3.1 循環結構……………………………………38

3.1.1 for 循環結構…………………………………38

3.1.2 while 循環結構………………………………40

3.1.3 循環語句的嵌套………………………………41

3.1.4 向量化編程與循環結構……………………………42

3.2 轉移結構……………………………………43

3.2.1 簡單的條件轉移結構……………………………43

3.2.2 條件轉移結構的一般形式…………………………44

3.2.3 其他流程控制命令………………………………44

3.2.4 分段函數的向量化計算……………………………44

3.3 開關結構……………………………………46

3.4 試探結構……………………………………47

3.5 小項目………………………………………48

3.5.1 學習向量化編程………………………………48

3.5.2 第一次接觸最優化問題……………………………48

本章習題…………………………………………49

參考文獻…………………………………………51

第4 章MATLAB 的函數編程…………………………………52

4.1 MATLAB 腳本文件………………………………52

4.1.1 MATLAB 的程序編輯器……………………………53

4.1.2 MATLAB 實時編輯器……………………………53

目 錄VII

4.2 函數的基本結構…………………………………55

4.2.1 為什麼需要MATLAB 函數…………………………55

4.2.2 函數的結構…………………………………55

4.2.3 函數名的命名規則………………………………56

4.2.4 輸入、輸出變元的個數……………………………57

4.2.5 輸入變元的檢驗………………………………58

4.2.6 M-函數的遞歸調用……………………………60

4.2.7 匿名函數…………………………………61

4.3 函數變量的傳遞…………………………………62

4.3.1 輸入、輸出變元的傳遞與提取…………………………62

4.3.2 局部變量與全局變量……………………………64

4.3.3 工作空間變量的存取……………………………64

4.3.4 由MATLAB 調用Python 函數………………………65

4.4 M-函數調試方法與處理………………………………65

4.4.1 M-函數的跟蹤調試……………………………66

4.4.2 偽代碼技術…………………………………67

4.5 小項目………………………………………67

4.5.1 遞推算法的推導與實現……………………………67

4.5.2 矩陣函數的遞推實現……………………………68

本章習題…………………………………………68

參考文獻…………………………………………70

第5 章MATLAB 的科學可視化………………………………71

5.1 簡單二維圖形……………………………………71

5.1.1 基於數據的繪圖………………………………71

5.1.2 基於函數表達式的繪圖……………………………75

5.1.3 參數方程曲線繪制………………………………76

5.1.4 雙y 軸曲線…………………………………77

5.1.5 圖形修飾與編輯………………………………78

5.1.6 圖形數據的提取………………………………79

5.2 特殊二維圖形……………………………………79

5.2.1 極坐標……………………………………79

5.2.2 離散數據的圖形表示……………………………81

5.2.3 統計圖形繪制…………………………………82

5.2.4 填充圖……………………………………83

5.2.5 對數圖繪制…………………………………84

5.2.6 動態軌跡繪制與動畫制作…………………………85

5.2.7 圖形窗口的分割………………………………86

5.3 MATLAB 三維繪圖………………………………87

5.3.1 三維曲線繪制…………………………………87

5.3.2 三維參數方程的曲線繪制…………………………87

5.3.3 三維曲面繪制…………………………………88

5.3.4 視角設置…………………………………89

5.3.5 二元參數方程的曲面繪制…………………………90

VIII MATLAB/Simulink 實用教程——編程、計算與仿真(第2 版)

5.3.6 三維動畫的制作與播放……………………………90

5.4 隱函數繪制……………………………………91

5.4.1 二維隱函數曲線繪制……………………………91

5.4.2 三維隱函數曲面繪制……………………………93

5.5 小項目………………………………………94

5.5.1 Mandelbrot 圖………………………………94

5.5.2 曲面的交線…………………………………95

本章習題…………………………………………95

參考文獻…………………………………………97

第6 章MATLAB 的面向對象編程………………………………98

6.1 面向對象程序的基本概念……………………………98

6.2 類與對象的設計…………………………………99

6.2.1 類的數據結構…………………………………99

6.2.2 類的輸入與顯示………………………………100

6.2.3 加減法運算重載函數……………………………102

6.2.4 乘法運算重載函數………………………………103

6.2.5 乘方運算重載函數………………………………105

6.2.6 合並同類項重載函數……………………………105

6.3 應用程序的界面設計………………………………106

6.3.1 圖形用戶界面的對象……………………………106

6.3.2 簡易對話框…………………………………107

6.3.3 標準對話框的編程與使用…………………………108

6.3.4 用App Designer 設計應用程序………………………108

6.4 小項目………………………………………113

6.4.1 分數階傳遞函數………………………………113

6.4.2 一個App 設計任務………………………………113

本章習題…………………………………………114

參考文獻…………………………………………114

第7 章微積分與積分變換…………………………………115

7.1 微積分問題的解析求解………………………………115

7.1.1 單變量函數的極限………………………………115

7.1.2 多元函數的極限………………………………119

7.1.3 函數的導數…………………………………121

7.1.4 函數的積分…………………………………126

7.2 序列與函數的級數…………………………………129

7.2.1 級數求和…………………………………130

7.2.2 序列乘積…………………………………132

7.2.3 無窮級數的收斂性判定……………………………133

7.2.4 Taylor 級數…………………………………135

7.2.5 Fourier 級數…………………………………136

目 錄IX

7.3 微積分問題的數值求解………………………………138

7.3.1 數值微分…………………………………138

7.3.2 數值積分…………………………………140

7.4 積分變換入門……………………………………144

7.4.1 Laplace 變換…………………………………145

7.4.2 數值Laplace 變換………………………………146

7.4.3 Fourier 變換…………………………………147

7.4.4 z 變換……………………………………148

7.5 小項目………………………………………149

7.5.1 曲線積分…………………………………149

7.5.2 多變量積分的數值解……………………………150

本章習題…………………………………………150

參考文獻…………………………………………155

第8 章線性代數與矩陣分析…………………………………157

8.1 特殊矩陣的輸入…………………………………157

8.1.1 零矩陣、幺矩陣與單位矩陣…………………………157

8.1.2 隨機數矩陣…………………………………159

8.1.3 對角矩陣…………………………………159

8.1.4 特殊矩陣的表現形式……………………………160

8.2 矩陣分析……………………………………160

8.2.1 矩陣的簡單分析………………………………161

8.2.2 逆矩陣……………………………………164

8.2.3 Moore–Penrose 廣義逆矩陣…………………………166

8.2.4 矩陣的特征值…………………………………167

8.3 矩陣的變換與分解…………………………………168

8.3.1 矩陣的相似變換………………………………168

8.3.2 相伴矩陣變換…………………………………168

8.3.3 一般矩陣的對角變換與Jordan 變換……………………169

8.3.4 矩陣的三角分解………………………………170

8.3.5 對稱矩陣的Cholesky 分解…………………………171

8.3.6 奇異值分解…………………………………172

8.4 矩陣函數……………………………………173

8.4.1 矩陣的指數函數………………………………173

8.4.2 矩陣的三角函數………………………………174

8.4.3 任意矩陣函數…………………………………174

8.5 小項目………………………………………175

本章習題…………………………………………176

參考文獻…………………………………………178

第9 章代數方程………………………………………179

9.1 線性代數方程組…………………………………179

9.1.1 線性方程的一般形式……………………………179

9.1.2 線性方程唯一解的數值與解析解法………………………180

X MATLAB/Simulink 實用教程——編程、計算與仿真(第2 版)

9.1.3 無窮解的構造…………………………………181

9.1.4 矛盾方程的最小二乘解……………………………182

9.1.5 XA=B方程…………………………………183

9.2 特殊線性方程……………………………………183

9.2.1 線性方程的Kronecker 變換…………………………183

9.2.2 AXB=C 方程………………………………184

9.2.3 Lyapunov 方程………………………………185

9.2.4 Sylvester 方程…………………………………185

9.3 一般非線性方程…………………………………187

9.3.1 非線性方程的圖解法……………………………187

9.3.2 多項式類方程的準解析解方法………………………190

9.3.3 二次型方程的準解析解方法…………………………191

9.3.4 非線性方程的數值解……………………………192

9.3.5 方程求解的參數控制……………………………193

9.4 多解非線性矩陣方程………………………………194

9.4.1 多解方程求解的思路與代碼實現………………………194

9.4.2 矩陣方程…………………………………197

9.4.3 偽多項式方程…………………………………197

9.5 小項目………………………………………197

9.5.1 化學反應方程式的配平……………………………197

9.5.2 聯立非線性方程求解……………………………198

本章習題…………………………………………199

參考文獻…………………………………………201

第10 章常微分方程……………………………………202

10.1 常微分方程的解析解………………………………202

10.1.1 高階線性常系數微分方程…………………………202

10.1.2 高階微分方程組………………………………204

10.1.3 時變微分方程………………………………205

10.1.4 非線性微分方程………………………………206

10.2 微分方程的初值問題………………………………207

10.2.1 一階顯式微分方程的標準型…………………………207

10.2.2 微分方程的直接求解……………………………207

10.2.3 微分方程解的檢驗……………………………209

10.2.4 微分方程的變換方法……………………………210

10.2.5 剛性微分方程………………………………215

10.3 特殊微分方程…………………………………216

10.3.1 微分代數方程………………………………216

10.3.2 隱式微分方程………………………………217

10.3.3 延遲微分方程………………………………218

10.4 微分方程的邊值問題………………………………222

10.4.1 邊值問題的數學形式……………………………222

10.4.2 一般邊值問題………………………………223

10.4.3 含有參數的邊值問題……………………………224

目 錄XI

10.5 小項目………………………………………225

10.5.1 一個比較復雜的微分方程…………………………225

10.5.2 用其他的方法求解邊值問題…………………………226

本章習題…………………………………………226

參考文獻…………………………………………231

第11 章最優化………………………………………233

11.1 無約束最優化…………………………………233

11.1.1 無約束最優化問題的數學形式………………………233

11.1.2 無約束最優化問題的求解…………………………234

11.1.3 無約束最優化問題的求解精度控制……………………235

11.1.4 尋優過程的可視化……………………………235

11.1.5 基於問題的描述與求解……………………………236

11.2 線性規劃與二次型規劃………………………………237

11.2.1 線性規劃…………………………………237

11.2.2 二次型規劃…………………………………240

11.2.3 基於問題的描述與求解……………………………240

11.3 一般非線性規劃…………………………………242

11.3.1 非線性規劃的數學形式……………………………242

11.3.2 非線性規劃的直接求解……………………………242

11.3.3 局部最優解與全局最優解…………………………244

11.3.4 基於問題的非線性規劃描述與求解……………………245

11.4 全局最優解的探討…………………………………246

11.4.1 MATLAB 全局優化工具箱簡介………………………246

11.4.2 無約束全局最優解的程序實現………………………247

11.4.3 有約束全局最優解的程序實現………………………250

11.5 小項目………………………………………252

11.5.1 一個應用問題………………………………252

11.5.2 混合整數規劃問題……………………………252

本章習題…………………………………………253

參考文獻…………………………………………256

第12 章數據處理與數理統計………………………………257

12.1 數據插值……………………………………257

12.1.1 一維數據插值………………………………257

12.1.2 二維與多維插值………………………………258

12.1.3 樣條插值…………………………………260

12.1.4 基於樣條插值的數值微積分運算………………………261

12.2 由數據擬合函數模型………………………………262

12.2.1 多項式擬合…………………………………263

12.2.2 最小二乘曲線擬合……………………………264

12.2.3 基於神經網絡的數據擬合…………………………265

XII MATLAB/Simulink 實用教程——編程、計算與仿真(第2 版)

12.3 數據的統計分析…………………………………267

12.3.1 概率密度與分布函數……………………………267

12.3.2 偽隨機數生成………………………………268

12.3.3 均值與方差…………………………………269

12.3.4 離群值檢測…………………………………270

12.4 假設檢驗與方差分析………………………………272

12.4.1 數據的假設檢驗………………………………272

12.4.2 方差分析…………………………………274

12.5 小項目………………………………………276

本章習題…………………………………………277

參考文獻…………………………………………278

第13 章Simulink 建模與仿真…………………………………280

13.1 Simulink 的界面…………………………………280

13.1.1 Simulink 的模塊庫與空白模型窗口……………………281

13.1.2 Simulink 的工具欄……………………………281

13.2 Simulink 的常用模塊組………………………………283

13.2.1 輸入、輸出模塊………………………………283

13.2.2 連續與離散系統模塊……………………………283

13.2.3 運算模塊…………………………………285

13.2.4 Simulink 模型的建模與仿真舉例………………………285

13.3 Simulink 參數設置…………………………………288

13.3.1 求解器參數設置………………………………288

13.3.2 輸入、輸出參數設置……………………………289

13.3.3 模型參數預設值………………………………289

13.4 基於Simulink 的微分方程建模與求解………………………290

13.4.1 Simulink 建模規則……………………………291

13.4.2 底層建模…………………………………291

13.4.3 向量化建模…………………………………293

13.4.4 標準微分方程建模的統一框架………………………294

13.4.5 一般微分方程組建模……………………………296

13.4.6 隱式微分方程建模……………………………296

13.4.7 延遲微分方程建模……………………………297

13.5 小項目………………………………………299

本章習題…………………………………………300

參考文獻…………………………………………301

第14 章Simulink 建模與仿真進階……………………………303

14.1 基於命令的仿真方法………………………………303

14.1.1 仿真參數設置………………………………303

14.1.2 用MATLAB 啟動仿真過程…………………………304

14.1.3 Simulink 仿真的輸入與輸出數據結構……………………305

14.1.4 並行仿真…………………………………306

目 錄XIII

14.2 精確仿真與快速仿真………………………………306

14.2.1 過零點檢測…………………………………306

14.2.2 代數環處理…………………………………307

14.2.3 仿真過程的快速重啟……………………………310

14.3 子系統與模塊封裝…………………………………311

14.3.1 子系統……………………………………311

14.3.2 封裝模塊的參數對話框設計…………………………312

14.3.3 封裝模塊的圖標設計……………………………314

14.4 S-函數的編程與應用………………………………316

14.4.1 系統的狀態方程描述……………………………317

14.4.2 S-函數的基本結構……………………………317

14.4.3 S-函數的運行機制……………………………318

14.4.4 S-函數的響應函數……………………………319

14.4.5 S-函數舉例…………………………………319

14.4.6 S-函數模塊的封裝……………………………324

14.4.7 二級S-函數簡介………………………………325

14.5 小項目………………………………………327

本章習題…………………………………………328

參考文獻…………………………………………330

附錄A 基於DeepSeek 的半自動編程……………………………331

附錄習題…………………………………………336

參考文獻…………………………………………336

MATLAB 函數名索引……………………………………337

術語索引…………………………………………343