薛定宇教授大讲堂(卷Ⅰ):MATLAB程序设计
薛定宇教授大讲堂(卷Ⅱ):MATLAB微积分运算
薛定宇教授大讲堂(卷Ⅲ):MATLAB线性代数运算
薛定宇教授大讲堂(卷Ⅳ):MATLAB优化计算
薛定宇教授大讲堂(卷Ⅴ):MATLAB微分方程求解
薛定宇教授大讲堂(卷Ⅵ):Simulink建模与仿真
第1章计算机数学语言概述
1.1 数学问题计算机求解概述1
1.1.1 为什么要学习计算机数学语言· 1
1.1.2 数学问题的解析解与数值解· 5
1.1.3 数学运算问题软件包发展概述· 6
1.1.4 常规计算机语言的局限性 7
1.2 计算机数学语言简介 9
1.2.1 计算机数学语言的出现 9
1.2.2 有代表性的计算机数学语言· 10
1.3 科学运算问题的三步求解方法 10
本章习题 13
第2章MATLAB语言程序设计基础 15
2.1 MATLAB命令窗口与操作· 17
2.1.1 MATLAB的命令窗口· 17
2.1.2 MATLAB的工作路径设置 18
2.1.3 注释语句· 19
2.1.4 MATLAB的工作空间与管理 20
2.1.5 MATLAB的其他辅助工具 20
2.1.6 联机帮助系统 21
2.2 MATLAB基本操作命令· 23
2.2.1 变量名命名规则 23
2.2.2 保留的常数· 23
2.2.3 显示格式的设置 25
2.2.4 底层操作系统命令 25
2.2.5 MATLAB的人机交互函数 26
2.3 常用数据结构· 26
2.3.1 数值型数据· 26
2.3.2 符号型数据· 28
2.3.3 符号型函数· 30
2.3.4 任意符号型矩阵的生成 30
2.3.5 任意矩阵函数生成 31
2.3.6 整型变量与逻辑变量 32
2.3.7 数据结构类型的识别 32
2.3.8 矩阵的维数与长度 32
2.3.9 属性验证函数 33
2.4 字符串数据结构· 34
2.4.1 一般字符串的表示 34
2.4.2 字符串的处理方法 35
2.4.3 字符串的转换与读写方法 36
2.4.4 字符串命令的执行 38
2.4.5 MuPAD 接口函数的编写· 38
2.4.6 字符串的双引号描述方法 39
2.5 其他常用数据结构 39
2.5.1 多维数组· 39
2.5.2 单元数组· 40
2.5.3 表格数据· 41
2.5.4 结构体· 43
2.5.5 其他数据结构 44
2.6 MATLAB 的基本语句结构· 44
2.6.1 直接赋值语句 45
2.6.2 函数调用语句 45
2.6.3 多样的函数调用机制 46
2.6.4 冒号表达式· 46
2.6.5 子矩阵的提取 47
2.6.6 等间距行向量的生成 47
2.7 数据文件的读取与存储 48
2.7.1 数据文件的读取与存储命令· 48
2.7.2 文件读写的底层方法 49
2.7.3 Excel文件的读取与存储· 50
本章习题 52
第3章基本数学运算· 54
3.1 矩阵的算术运算· 55
3.1.1 矩阵的转置、翻转与旋转· 55
3.1.2 矩阵的四则运算 56
3.1.3 复数矩阵及其变换 57
3.1.4 矩阵乘方与开方 58
3.1.5 矩阵的点运算 59
3.2 矩阵的逻辑运算与比较运算 60
3.2.1 矩阵的逻辑运算 60
3.2.2 矩阵的比较运算 61
3.2.3 矩阵元素的查询命令 61
3.2.4 属性判定语句 62
3.2.5 非零元素个数统计 63
3.3 超越函数的计算· 64
3.3.1 指数函数与对数函数的计算· 64
3.3.2 三角函数的计算 65
3.3.3 反三角函数的计算 66
3.3.4 矩阵的超越函数 67
3.4 符号表达式的化简与变换 69
3.4.1 多项式的运算 69
3.4.2 多项式矩阵的计算 70
3.4.3 三角函数的变换与化简 71
3.4.4 符号表达式的化简 72
3.4.5 符号表达式的变量替换 73
3.4.6 符号运算结果的转换 74
3.4.7 数学归纳法的实现 75
3.5 基本数据运算· 76
3.5.1 数据的取整与有理化运算 76
3.5.2 向量的排序、最大值与最小值 77
3.5.3 数据的均值、方差与标准差· 79
3.5.4 质因数与质因式 80
3.5.5 排列与组合· 81
3.5.6 网格数据的生成 83 本章习题 84
第4章MATLAB语言的流程结构 88
4.1 循环结构· 89
4.1.1 for 循环结构 89
4.1.2 while 循环结构 91
4.1.3 迭代方法的循环实现 92
4.1.4 递推方法与实现 93
4.1.5 循环结构的辅助语句 95
4.1.6 冗长符号表达式的完全显示· 97
4.2 条件转移结构· 98
4.2.1 简单的条件转移结构 98
4.2.2 条件转移结构的一般形式 98
4.2.3 流程控制的应用——方程的整数解· 100
4.3 向量化编程· 101
4.3.1 向量化编程实现 101
4.3.2 方程整数解的向量化方法 103
4.3.3 分段函数的向量化表示 104
4.4 开关结构· 107
4.5 试探结构· 109 本章习题 111
第5章函数编写与调试 114
5.1 MATLAB 的脚本程序· 115
5.2 MATLAB 语言函数的基本结构 116
5.2.1 函数的基本结构 116
5.2.2 函数名的命令规则 118
5.2.3 函数编写举例 118
5.2.4 变元的检测段落 122
5.3 函数编写的技巧· 124
5.3.1 递归调用· 124
5.3.2 可变输入输出个数的处理 126
5.3.3 输入变元的容错处理 128
5.3.4 全局变量· 129
5.3.5 存取MATLAB工作空间中的变量 130
5.3.6匿名函数与inline函数· 131
5.3.7 子函数与私有函数 133
5.3.8 驻留变量与锁定函数 134
5.4 MATLAB 程序的调试· 134
5.4.1 MATLAB 程序的跟踪调试 134
5.4.2 伪代码与代码保密处理 137
5.4.3 MATLAB 函数的排错· 138
5.5 MATLAB 实时编辑器· 138
5.5.1 实时文档编辑界面 139
5.5.2 建立一个简单的文档 139
5.5.3 嵌入代码的运行 140
5.5.4 在实时编辑器中嵌入对象 141
5.5.5 由LATEX描述数学公式· 143
5.5.6 实时编辑文档的输出 146 本章习题 146
第6章二维图形绘制· 149
6.1 二维曲线的绘制· 150
6.1.1 二元数据的曲线绘制 150
6.1.2 数学函数的曲线绘制 153
6.1.3 分段函数的曲线绘制 155
6.1.4 参数方程的曲线绘制 156
6.1.5 二维图形的标题处理 158
6.1.6 多纵轴曲线的绘制 159
6.2 图形修饰· 161
6.2.1 基于命令的修饰方法 161
6.2.2 利用界面的修饰方法 164
6.2.3LATEX支持的修饰命令· 165
6.2.4 数学公式叠印与宏包设计 165
6.3 其他二维图形绘制语句 166
6.3.1 极坐标曲线的绘制 166
6.3.2 离散信号的图形表示 169
6.3.3 直方图与饼图 170
6.3.4 填充图· 172
6.3.5 箱线图· 173
6.3.6 对数坐标图· 174
6.3.7 误差限图· 175
6.3.8 动态轨迹显示 175
6.3.9 二维动画的显示 176
6.4 图形窗口的操作与分割 177
6.4.1 图形窗口的操作 177
6.4.2 图形窗口的规范分割 178
6.4.3 图形窗口的任意分割 179
6.5 隐函数绘制及应用 180
6.5.1 二元隐函数的曲线绘制 181
6.5.2 曲线的光滑处理 183
6.5.3 二元联立方程的图解法 183
6.6 图像的显示与简单处理 185
6.6.1 图像的输入· 185
6.6.2 图像的编辑与显示 186
6.6.3 颜色空间转换 187
6.6.4 边缘检测· 187
6.6.5 直方图均衡化 187
6.7 MATLAB 图形的输出方法· 189
6.7.1 图形输出菜单与应用 189
6.7.2 打印预览对话框 190
6.7.3 图形输出命令 190
本章习题 191
第7章三维图形表示· 194
7.1 三维曲线绘制· 195
7.1.1 三维曲线绘制命令 195
7.1.2 已知数学函数的三维曲线绘制· 196
7.1.3 三维填充图· 197
7.1.4 三维直方图与饼图 198
7.1.5 条带图· 200
7.2 三维曲面绘制· 202
7.2.1 网格图与表面图 202
7.2.2 表面图的阴影与光照 206
7.2.3 其他表面图绘制 207
7.2.4 图像文件的三维表面图 209
7.2.5 已知函数的表面图 210
7.2.6 散点数据的表面图绘制 211
7.3 三维图形视角设置 212
7.3.1 视角的定义· 213
7.3.2 三视图的设置 214
7.3.3 任意视角的设置 214
7.4 其他三维绘图· 215
7.4.1 等高线· 215
7.4.2 曲面的交线· 216
7.4.3 矢量图· 219
7.4.4 三元隐函数的绘图 220
7.4.5 隐函数曲面的交线 221
7.4.6 参数方程的表面图 223
7.4.7 复变函数的三维表面图 224
7.4.8 球面与柱面· 225
7.4.9 Voronoi图与Delaunay剖分· 228
7.5 三维图形的特殊处理 230
7.5.1 三维曲面的旋转 230
7.5.2 坐标轴变换的三维曲面 232
7.5.3 三维图形的剪切 232
7.5.4 三维表面图贴面处理 233
7.6 四维图形绘制· 234
7.6.1 三维动画的制作与播放 234
7.6.2 切片图· 235
7.6.3 体视化界面· 236 本章习题 238
第8章MATLAB语言与其他语言的接口· 240
8.1 C语言环境下提供的MATLAB变量格式及函数概述· 241
8.1.1 编译程序的环境设置 241
8.1.2 Mex下的数据结构 242
8.1.3 Mex文件的结构 243
8.1.4 Mex文件的编写方法与步骤· 246
8.2 不同数据结构的Mex处理 248
8.2.1 不同类型输入输出变元的处理· 248
8.2.2 字符串变量的读写 249
8.2.3 多维数组的处理 250
8.2.4 单元数组的处理 251
8.2.5 MAT 文件的读写方法· 252
8.3 C程序中直接调用MATLAB函数 255
8.4 MATLAB 函数的独立程序转换 259
8.5 并行计算简介· 260 本章习题 263
第9章面向对象程序设计基础 264
9.1 面向对象编程的基本概念 265
9.1.1 类与对象的概念 265
9.1.2 类与对象数据结构 266
9.2 类的设计· 267
9.2.1 类的设计方法 268
9.2.2 类的定义与输入 268
9.2.3 类的显示· 270
9.3 重载函数的编写· 271
9.3.1 加法的重载函数编写 272
9.3.2 合并同类项的化简函数 273
9.3.3 减法重载函数 274
9.3.4 乘法重载函数 274
9.3.5 乘方运算重载函数 277
9.3.6 其他响应函数 278
9.3.7 域的赋值与提取 279
9.4 类的继承与扩展· 279
9.4.1 扩展类的定义与显示 280
9.4.2 ftf对象的连接重载函数 282
9.4.3 分数阶传递函数的频域分析· 285
本章习题 287
第10章图形用户界面设计技术· 289
10.1 MATLAB 语言图形界面编程基础· 290
10.1.1 MATLAB 图形界面中各对象的关系· 290
10.1.2 窗口对象及属性设置· 291
10.1.3 窗口的常用属性· 291
10.1.4 对象属性的读取与修改· 291
10.1.5 简易对话框 294
10.1.6 标准对话框及其调用· 296
10.2 MATLAB 图形界面设计基本组件
10.2.1 MATLAB 支持的基本组件· 300
10.2.2 组件的常用属性 · 301
10.2.3 组件句柄的获取 · 302
10.2.4 组件的另一种描述方法 303
10.3 App设计工具——AppDesigner303
10.3.1 App Designer 简介 303
10.3.2 界面设计方法简介· 305
10.3.3App的输入变元· 309
10.3.4多窗口App设计· 312
10.4 图形用户界面的高级技术· 314
10.4.1 选项卡组的使用· 314
10.4.2 菜单与工具栏的设计· 316
10.4.3 ActiveX 组件的嵌入与编程 317
10.5 程序打包与发布· 319
10.5.1 App转换为可执行文件· 319
10.5.2 工具箱的打包处理· 321
本章习题 322
参考文献· 324
MATLAB 函数名索引· 326
术语索引· 333