目 录
第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
