图书目录

目 录

第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