薛定宇教授大讲堂:MATLAB程序设计(卷Ⅰ)
作者:薛定宇
出版社:清华大学出版社
出版时间:2019-06-01
ISBN:9787302518686
定价:¥69.00
目 录
CONTENTS
第 1章计算机数学语言概述 1
1.1数学问题计算机求解概述 1
1.1.1为什么要学习计算机数学语言· 1
1.1.2数学问题的解析解与数值解· 4
1.1.3数学运算问题软件包发展概述· 5
1.1.4常规计算机语言的局限性 7
1.2计算机数学语言简介 8
1.2.1计算机数学语言的出现 8
1.2.2有代表性的计算机数学语言· 9
1.3科学运算问题的三步求解方法 10本章习题 12第 2章 MATLAB语言程序设计基础 13
2.1 MATLAB命令窗口与基本命令 14
2.1.1变量名命名规则 14
2.1.2保留的常数 · 15
2.1.3显示格式的设置 16
2.1.4底层操作系统命令 16
2.1.5 MATLAB的工作环境设置 17
2.1.6 MATLAB的工作空间与管理 18
2.1.7 MATLAB的其他辅助工具 18
2.2常用数据结构 · 19
2.2.1数值型数据 · 19
2.2.2符号型数据 · 20
2.2.3任意符号型矩阵的生成 22
2.2.4符号型函数 · 22
2.2.5整型变量与逻辑变量 22
2.2.6数据结构类型的识别 23
·iv·薛定宇教授大讲堂(卷 I):MATLAB程序设计
2.2.7矩阵的维数与长度 23
2.3字符串数据结构 · 24
2.3.1一般字符串的表示 24
2.3.2字符串的处理方法 24
2.3.3字符串的转换与读写方法 26
2.3.4字符串命令的执行 27
2.3.5 MuPAD接口函数的编写 · 27
2.4其他常用数据结构 28
2.4.1多维数组 · 28
2.4.2单元数组 · 29
2.4.3表格数据 · 30
2.4.4结构体 · 32
2.4.5其他数据结构 33
2.5 MATLAB的基本语句结构 · 33
2.5.1直接赋值语句 33
2.5.2函数调用语句 34
2.5.3多样的函数调用机制 34
2.5.4冒号表达式 · 34
2.5.5子矩阵的提取 35
2.5.6等间距行向量的生成 36
2.6数据文件的读取与存储 36
2.6.1数据文件的读取与存储命令· 36
2.6.2文件读写的底层方法 37
2.6.3 Excel文件的读取与存储 · 38本章习题 39
第 3章基本数学运算 · 42
3.1矩阵的代数运算 · 42
3.1.1矩阵的转置、翻转与旋转 · 42
3.1.2矩阵的加减乘除运算 44
3.1.3复数矩阵及其变换 45
3.1.4矩阵的乘方与开方 45
3.1.5矩阵的点运算 47
3.2矩阵的逻辑运算与比较运算 47
3.2.1矩阵的逻辑运算 47
3.2.2矩阵的比较运算 48 3.2.3矩阵元素的查询命令 48
3.2.4属性判定语句 49
3.3超越函数的计算 · 49
3.3.1指数与对数函数的计算 50
3.3.2三角函数的计算 50
3.3.3反三角函数的计算 52
3.3.4矩阵的超越函数 52
3.4符号表达式的化简与变换 54
3.4.1多项式的运算 54
3.4.2三角函数的变换与化简 55
3.4.3符号表达式的化简 55
3.4.4符号表达式的变量替换 56
3.4.5符号运算结果的转换 56
3.5基本数据运算 · 57
3.5.1数据的取整与有理化运算 57
3.5.2向量的排序、最大值与最小值 58
3.5.3数据的均值、方差与标准差 · 59
3.5.4质因数与质因式 60
3.5.5排列与组合 · 61本章习题 62
第 4章 MATLAB语言的流程结构 64
4.1循环结构 · 64
4.1.1 for循环结构 · 64
4.1.2 while循环结构 · 66
4.1.3迭代方法的循环实现 67
4.1.4循环结构的辅助语句 69
4.1.5向量化编程实现 69
4.2条件转移结构 · 71
4.2.1简单的条件转移结构 71
4.2.2条件转移结构的一般形式 72
4.2.3分段函数的向量化表示 74
4.3开关结构 · 75
4.4试探结构 · 77本章习题 78
·vi·薛定宇教授大讲堂(卷 I):MATLAB程序设计
第 5章函数编写与调试 80
5.1 MATLAB的脚本程序 · 80
5.2 MATLAB语言函数的基本结构 81
5.2.1函数的基本结构 81
5.2.2函数名的命令规则 83
5.2.3函数编写举例 83
5.3函数编写的技巧 · 86
5.3.1递归调用 · 86
5.3.2可变输入输出个数的处理 87
5.3.3输入变元的容错处理 89
5.3.4全局变量 · 89
5.3.5存取 MATLAB工作空间中的变量 90
5.3.6匿名函数与 inline函数 · 91
5.3.7子函数与私有函数 93
5.4 MATLAB程序的调试 · 93
5.4.1 MATLAB程序的跟踪调试 93
5.4.2伪代码与代码保密处理 96
5.5 MATLAB实时编辑器 · 96
5.5.1实时文档编辑界面 97
5.5.2建立一个简单的文档 97
5.5.3嵌入代码的运行 98
5.5.4在实时编辑器中嵌入其他对象· 99
5.5.5实时编辑文档的输出 101本章习题 101
第 6章二维图形绘制 · 105
6.1二维曲线的绘制 · 105
6.1.1二元数据的曲线绘制 105
6.1.2数学函数的曲线绘制 108
6.1.3分段函数的曲线绘制 108
6.1.4二维图形的标题处理 109
6.1.5多纵轴曲线的绘制 111
6.2图形修饰 · 112
6.2.1利用界面工具的修饰 113
6.2.2 LATEX支持的修饰命令 · 115
6.2.3数学公式叠印与宏包设计 116 6.3其他二维图形绘制语句 117
6.3.1极坐标曲线的绘制 117
6.3.2离散信号的图形表示 118
6.3.3直方图与饼图 120
6.3.4填充图 · 122
6.3.5对数坐标图 · 123
6.3.6误差限图 · 124
6.3.7动态轨迹显示 124
6.3.8二维动画的显示 124
6.4图形窗口的分割 · 125
6.4.1规范分割 · 125
6.4.2任意分割 · 126
6.5隐函数绘制及应用 128
6.6图像的显示与简单处理 130
6.6.1图像的输入 · 130
6.6.2图像的编辑与显示 131
6.6.3颜色空间转换 132
6.6.4边缘检测 · 132
6.6.5直方图均衡化 133
6.7 MATLAB图形的输出方法 · 134
6.7.1图形输出菜单与应用 134
6.7.2图形输出命令 135本章习题 136
第 7章三维图形表示 · 138
7.1三维曲线绘制 · 138
7.1.1三维曲线绘制命令 138
7.1.2已知数学函数的三维曲线绘制· 139
7.1.3三维填充图 · 140
7.1.4三维直方图与饼图 140
7.1.5条带图 · 142
7.2三维曲面绘制 · 144
7.2.1网格图与表面图 144
7.2.2表面图的阴影与光照 147
7.2.3图像文件的三维表面图 149
7.2.4已知函数的表面图 150
·viii·薛定宇教授大讲堂(卷 I):MATLAB程序设计
7.2.5散点数据的表面图绘制 151
7.3三维图形视角设置 152
7.3.1视角的定义 · 152
7.3.2三视图的设置 153
7.3.3任意视角的设置 153
7.4其他三维绘图 · 154
7.4.1等高线 · 154
7.4.2矢量图 · 155
7.4.3三元隐函数的绘图 156
7.4.4参数方程的表面图 158
7.4.5复变函数的三维表面图 158
7.4.6球面与柱面 · 159
7.4.7 Voronoi图与 Delaunay剖分 · 161
7.5三维图形的特殊处理 163
7.5.1三维曲面的旋转 163
7.5.2坐标轴变换的三维曲面 164
7.5.3三维图形的剪切 165
7.5.4三维表面图贴面处理 166
7.6四维图形绘制 · 167
7.6.1切片图 · 167
7.6.2体视化界面 · 168
7.6.3三维动画的制作与播放 169本章习题 171
第 8章 MATLAB语言与其他语言的接口· 173
8.1 C语言环境下提供的 MATLAB变量格式及函数概述 · 174
8.1.1编译程序的环境设置 174
8.1.2 Mex下的数据结构 175
8.1.3 Mex文件的结构 176
8.1.4 Mex文件的编写方法与步骤· 179
8.2不同数据结构的 Mex处理 180
8.2.1不同类型输入输出变元的处理· 181
8.2.2字符串变量的读写 181
8.2.3多维数组的处理 183
8.2.4单元数组的处理 184
8.2.5 MAT文件的读写方法 · 185 8.3 C程序中直接调用 MATLAB函数 187
8.4 MATLAB函数的独立程序转换 191本章习题 192
第 9章面向对象程序设计基础 193
9.1面向对象编程的基本概念 193
9.1.1类与对象 · 193
9.1.2类与对象数据结构 194
9.2类的设计 · 195
9.2.1类的设计方法 195
9.2.2类的定义与输入 196
9.2.3类的显示 · 197
9.3重载函数的编写 · 198
9.3.1加法的重载函数编写 198
9.3.2合并同类项的化简函数 199
9.3.3减法重载函数 200
9.3.4乘法重载函数 200
9.3.5乘方运算重载函数 202
9.3.6域的赋值与提取 203
9.4类的继承与扩展 · 203
9.4.1扩展类的定义与显示 204
9.4.2 ftf对象的连接重载函数 205
9.4.3分数阶传递函数的频域分析· 207本章习题 208
第 10章 MATLAB的图形用户界面设计技术 209
10.1 MATLAB语言图形界面编程基础 · 209
10.1.1 MATLAB图形界面中各对象的关系· 209
10.1.2窗口对象及属性设置 210
10.1.3窗口的常用属性 211
10.1.4对象属性的读取与修改· 213
10.1.5简易对话框 215
10.1.6标准对话框及其调用 216
10.2 MATLAB图形界面设计基本控件 · 219
10.2.1 MATLAB支持的基本控件 219
10.2.2控件的常用属性 221
10.2.3控件句柄的获取 221
·x·薛定宇教授大讲堂(卷 I):MATLAB程序设计
10.3图形用户界面设计工具 Guide 222
10.4图形用户界面的高级技术 · 231
10.4.1菜单系统的设计 231
10.4.2工具栏设计 232
10.4.3 ActiveX控件的嵌入与编程 234
10.5工具箱的集成与发布 · 235本章习题 235参考文献· 237
MATLAB函数名索引 · 239术语索引· 245