上篇 基础入门篇 3
第1章 MATLAB及GUI编程概述 3
1.1 MATLAB的特点 3
1.1 MATLAB的主要特点 3
1.2 MATLAB 7的最新特点 5
1.2 MATLAB系统构成 6
1.2.1 MATLAB的主要组成 6
1.2.2 MATLAB的重要部件 7
1.3 MATLAB的集成环境 8
1.3.1 MATLAB命令窗口 8
1.3.2 MATLAB工作空间 9
1.3.3 命令历史窗口 11
1.3.4 M文件编辑窗口 11
1.3.5 MATLAB搜索路径 13
1.4 MATLAB的帮助系统 14
1.4.1 联机帮助系统 14
1.4.2 联机演示系统 15
1.4.3 远程帮助系统 15
1.4.4 命令查询系统 16
1.5 GUI图形界面编程概述 16
1.5.1 GUI基本概念 17
1.5.2 GUI层次结构 17
1.5.3 利用GUIDE创建GUI 18
1.5.4 利用编程创建GUI 20
1.6 小结 21
第2章 MATLAB二维绘图 22
2.1 二维绘图基本流程 22
2.2 二维图形的基本绘图命令 24
2.2.1 高级绘图命令 24
2.2.2 低级绘图命令 27
2.3 二维图形的修饰 29
2.3.1 坐标轴的调整 29
2.3.2 画出或取消网格线 35
2.3.3 设置坐标轴的名称 36
2.3.4 设置图形标题 37
2.3.5 在图形中显示文字 38
2.3.6 图形的标定和颜色条 40
2.3.7 使用绘图工具栏标注图形 42
2.4 填充图形的绘制 43
2.5 多坐标系绘图与图形窗口分割 44
2.5.1 图形叠印法 45
2.5.2 子图的绘制 46
2.6 特殊坐标图形的绘制 47
2.6.1 绘制极坐标图形 47
2.6.2 对数/半对数坐标系绘图 48
2.7 特殊二维图形的绘制 50
2.7.1 概率分布图 50
2.7.2 柱状图和面积图 52
2.7.3 饼形图 53
2.7.4 离散数据绘图 55
2.7.5 等高线图 57
2.7.6 向量图 59
2.8 函数绘图 62
2.9 在工作空间直接绘图 63
2.10 手工绘图 66
2.11 小结 69
第3章 MATALB三维绘图 70
3.1 绘制三维折线及曲线 70
3.1.1 基本绘图命令 70
3.1.2 图形标注 72
3.2 绘制三维网格曲面 73
3.2.1 栅格数据点的产生 73
3.2.2 网格曲面的绘制命令 75
3.2.3 隐藏线的显示和关闭 78
3.3 绘制三维阴影曲面 79
3.3.1 阴影曲面绘制命令 79
3.3.2 带有等高线的阴影曲面绘制 81
3.3.3 具有光照效果的阴影曲面绘制 83
3.4 三维图形的调控 85
3.4.1 设置视角位置 85
3.4.2 设置坐标轴 87
3.5 特殊三维图形的绘制 88
3.5.1 柱状图 89
3.5.2 圆柱体图 90
3.5.3 饼形图 92
3.5.4 球面图 93
3.5.5 三维等高线 94
3.5.6 三维离散序列图 95
3.5.7 简易函数绘图 97
3.6 小结 98
中篇 设计提高篇 101
第4章 MATLAB图形的颜色、影和透明处理 101
4.1 图形可视化技术 101
4.1.1 基本概念 101
4.1.2 三维图形可视化基本流程 101
4.1.3 使用面片创建图形模型 103
4.2 MATLAB中的颜色 109
4.2.1 着色技术 109
4.2.2 RGB真彩着色 109
4.2.3 颜色表 111
4.2.4 索引着色 112
4.2.5 颜色编辑器 115
4.2.6 shading模式 117
4.3 光照效果设置 118
4.3.1 光源对象 118
4.3.2 光照方法 120
4.4 透明效果 121
4.4.1 hidden函数 121
4.4.2 设置透明度数值 123
4.4.3 透明度数据映射 125
4.5 小结 126
第5章 MATLAB动画设计 127
5.1 擦除方式动画设计 127
5.2 质点运动轨迹方式动画设计 132
5.3 电影放映方式动画设计 134
5.4 MATLAB动画与AVI文件 136
5.4.1 AVI文件录制 136
5.4.2 AVI文件执行 138
5.5 小结 139
第6章 MATLAB图像显示技术 140
6.1 MATLAB图像文件的格式 140
6.2 图像类型 140
6.2.1 索引图像 141
6.2.2 灰度图像 142
6.2.3 RGB图像 144
6.2.4 二值图像 145
6.2.5 图像序列 145
6.3 图像处理基本函数 146
6.3.1 获取信息命令 146
6.3.2 图像读入和显示命令 148
6.3.3 图像写回命令 152
6.4 图像类型转换 153
6.5 标准图像显示技术 156
6.5.1 imshow函数 156
6.5.2 显示灰度图像 157
6.5.3 显示二值图像 159
6.5.4 显示索引图像 159
6.5.5 显示真彩图像 160
6.5.6 显示图形文件中的图像 160
6.6 特殊图像显示技术 160
6.6.1 添加颜色条 161
6.6.2 显示多帧图像阵列 161
6.6.3 图像上的区域缩放 164
6.6.4 纹理映射 165
6.6.5 在一个图形窗口中显示多幅图像 166
6.7 MATLAB中的颜色模型 168
6.7.1 颜色模型的分类 168
6.7.2 颜色模型的转换 169
6.8 小结 172
第7章 图形的打印和导出 173
7.1 图形打印和导出概述 173
7.2 图形打印 173
7.2.1 使用菜单打印图形 173
7.2.2 图形打印命令 175
7.2.3 打印设置 176
7.3 图形导出 181
7.3.1 使用菜单导出图形 181
7.3.2 图形导出命令 181
7.3.3 导出设置 182
7.4 小结 184
第8章 句柄图形对象 185
8.1 对象结构 185
8.2 对象属性 188
8.2.1 根对象 188
8.2.2 图形窗口对象 190
8.2.3 坐标轴(Axes) 194
8.2.4 内核对象 198
8.3 对象操作 213
8.3.1 创建图形对象 214
8.3.2 属性值查询与设置 215
8.3.3 属性默认值 218
8.3.4 对象操作实例 220
8.3.5 句柄图形函数 222
8.4 小结 222
第9章 MATLAB GUI的组成与结构 224
9.1 层次结构 224
9.2 uimenu菜单及设计 225
9.2.1 菜单建立 225
9.2.2 菜单属性 228
9.2.3 回调属性 229
9.2.4 菜单快捷键 230
9.2.5 菜单的外观 232
9.2.6 制作现场菜单 237
9.3 GUIDE界面 237
9.4 GUIDE组件及属性 240
9.4.1 按钮 244
9.4.2 单选按钮 245
9.4.3 框架 247
9.4.4 面板与按钮组 248
9.4.5 复选框 250
9.4.6 文本标签 253
9.4.7 编辑文本框 254
9.4.8 滑动条 257
9.4.9 下拉菜单 260
9.4.10 列表框 263
9.4.11 双位按钮 265
9.4.12 坐标轴与ActiveX控件 266
9.5 小结 267
第10章 MATLAB GUI基础设计 268
10.1 设计原则与步骤 268
10.1.1 设计原则 268
10.1.2 一般制作步骤 268
10.2 界面设计工具 269
10.2.1 GUI设计窗口 269
10.2.2 设计编辑器 269
10.3 控制布置原则 270
10.4 界面和代码设计 270
10.4.1 构思草图 271
10.4.2 绘制控件 271
10.4.3 调整控件 271
10.4.4 设置属性 273
10.4.5 M文件编写 275
10.4.6 创建菜单 277
10.4.7 对象浏览器 280
10.4.8 Tab顺序编辑器 281
10.4.9 GUI程序的存储 282
10.5 程序运行 282
10.6 对话框设计 284
10.6.1 普通对话框 285
10.6.2 文件名处理对话框 286
10.6.3 颜色设置对话框 288
10.6.4 字体设置对话框 289
10.6.5 输入对话框 291
10.6.6 消息显示对话框 292
10.6.7 提问对话框 292
10.6.8 出错对话框 293
10.7 小结 294
第11章 MATLAB GUI高级设计 295
11.1 事件处理 295
11.2 回调函数 296
11.2.1 中断回调规则 298
11.2.2 回调函数原形 298
11.3 回调处理 300
11.3.1 递归函数调用 300
11.3.2 M文件调用 302
11.3.3 函数句柄调用 304
11.4 GUIDE编程 305
11.5 M文件编程设计 310
11.5.1 界面设计 310
11.5.2 函数回调 317
11.6 小结 321
下篇 综合应用篇 325
第12章 GUI设计在高等数学中的应用 325
12.1 绘制极坐标曲线 325
12.2 空间解析几何 328
12.3 函数极限可视化 333
12.4 求函数的零点 337
12.5 多项式的曲线拟合 341
12.6 求函数在某处的导数 346
12.7 函数差分法求导 350
12.8 函数的数值定积分 353
12.9 计算二重积分 358
12.10 求解微分方程 361
12.11 小结 366
第13章 GUI设计在大学物理中的应用 367
13.1 导弹打击过程模拟 367
13.2 旋螺线运动的动画 371
13.3 碰撞运动 375
13.4 应力状态分析 379
13.5 气体分子运动速度分布律 386
13.6 偶极子的电势和电场强度 391
13.7 电流环磁场分布 395
13.8 波的合成及拍频现象 400
13.9 光的双缝干涉 405
13.10 小结 410
第14章 GUI设计在电工学中的应用 411
14.1 直流电阻电路分析 411
14.2 戴维南定理 415
14.3 一阶动态电路 421
14.4 二阶电路 425
14.5 正弦稳态分析 430
14.6 非正弦交流电路 434
14.7 调谐振荡电路分析 437
14.8 电路信号合成 442
14.9 小结 445
附录A MATLAB GUI的使用经验与技巧 446
附录B MATLAB GUI设计常用函数 448
参考文献 457
实例目录 22
【例2-1】 二维图形绘制流程实例 22
【例2-2】 高级绘图函数绘图实例 24
【例2-3】 线型、颜色和标记点使用实例 27
【例2-4】 画线函数使用实例 28
【例2-5】 画线函数使用实例 28
【例2-6】 调整坐标轴函数使用实例 30
【例2-7】 坐标轴设置函数使用实例 31
【例2-8】 图形调整函数使用实例 32
【例2-9】 保存坐标轴范围的实例 34
【例2-10】 保存坐标轴状态的实例 34
【例2-11】 网格线控制函数使用实例 35
【例2-12】 坐标轴标注函数使用实例 36
【例2-13】 图形标注函数使用实例 37
【例2-14】 坐标轴标注函数使用实例 38
【例2-15】 文本框标注函数使用实例 39
【例2-16】 图形标定函数使用实例 40
【例2-17】 颜色条函数使用实例 41
【例2-18】 图形填充命令使用实例 44
【例2-19】 叠加绘图函数使用实例 45
【例2-20】 子图函数使用实例 46
【例2-21】 极坐标绘图函数使用实例 48
【例2-22】 对数/半对数坐标系绘制实例 49
【例2-23】 直方图绘制函数使用实例 50
【例2-24】 玫瑰图绘制函数使用实例 50
【例2-25】 柱状图绘制函数bar使用实例 52
【例2-26】 面积图绘制函数使用实例 53
【例2-27】 饼形图绘制函数使用实例 54
【例2-28】 火柴杆图绘制函数使用实例 55
【例2-29】 阶梯图绘制函数使用实例 56
【例2-30】 等高线图绘制函数使用实例 57
【例2-31】 罗盘图绘制函数使用实例 59
【例2-32】 羽毛图绘制函数使用实例 59
【例2-33】 向量场图绘制函数使用实例 60
【例2-34】 工作空间直接作图实例 64
【例2-35】 手工绘图函数使用实例 66
【例2-36】 鼠标绘制曲线图应用实例 67
【例3-1】 三维曲线绘制函数plot3使用实例 70
【例3-2】 三维曲线绘制函数plot3使用实例 71
【例3-3】 坐标标记函数使用实例 72
【例3-4】 栅格数据点函数使用实例 74
【例3-5】 网格曲面图绘制应用实例 75
【例3-6】 三维网格图应用实例 76
【例3-7】 隐藏线显示及关闭应用实例 78
【例3-8】 阴影曲面绘制函数使用实例 80
【例3-9】 等高线线函数使用实例 82
【例3-10】 光照效果函数使用实例 84
【例3-11】 视角设置使用实例 85
【例3-12】 坐标轴设置函数使用实例 88
【例3-13】 三维直方图函数使用实例 90
【例3-14】 圆柱体绘制函数使用实例 91
【例3-15】 绘制饼形图应用实例 92
【例3-16】 球面绘制函数使用实例 93
【例3-17】 三维等高线绘制应用实例 95
【例3-18】 三维离散序列图绘制应用实例 96
【例3-19】 函数三维绘图应用实例 97
【例4-1】 MATLAB中典型的三维图形绘制流程实例 102
【例4-2】 patch函数使用实例 104
【例4-3】 patch函数创建单面面片应用实例 105
【例4-4】 patch函数创建单面面片应用实例 106
【例4-5】 patch函数创建三维立体图形实例 106
【例4-6】 RGB真彩着色使用实例 110
【例4-7】 颜色表数组操作应用实例 112
【例4-8】 指定颜色索引着色应用实例 112
【例4-9】 不指定颜色索引着色应用实例 113
【例4-10】 直接索引着色使用实例 115
【例4-11】 阴影函数shading应用实例 117
【例4-12】 光源函数light使用实例 118
【例4-13】 光照方法设置使用实例 120
【例4-14】 hidden函数使用实例 122
【例4-15】 透明度值设置使用实例 123
【例4-16】 透明度函数alphamap使用实例 126
【例5-1】 擦除方式动画演示实例 128
【例5-2】 动画擦除模式显示使用实例 129
【例5-3】 对象呈现动画设置使用实例 131
【例5-4】 动画函数comet使用实例 132
【例5-5】 动画函数comet3使用实例 133
【例5-6】 电影方式显示动画应用实例 135
【例5-7】 avifile函数使用实例 137
【例6-1】 索引图像及颜色表说明举例 142
【例6-2】 灰度图像显示举例应用 142
【例6-3】 RGB图像显示举例 144
【例6-4】 图像信息查询函数应用实例 146
【例6-5】 图像信息查询函数应用实例 147
【例6-6】 图像读入及显示应用实例 149
【例6-7】 图像显示应用实例 150
【例6-8】 (续)图像显示应用实例 151
【例6-9】 图像显示坐标轴应用实例 151
【例6-10】 图像写回命令应用实例 152
【例6-11】 gray2ind函数应用实例 155
【例6-12】 函数im2bw应用实例 155
【例6-13】 函数ind2gray应用实例 155
【例6-14】 显示灰度图像函数应用实例 157
【例6-15】 显示等级灰度图像应用实例 158
【例6-16】 二值图像显示应用实例 159
【例6-17】 多帧图像阵列显示应用实例 162
【例6-18】 图像多帧显示应用实例 163
【例6-19】 图像区域缩放应用实例 164
【例6-20】 图像纹理映射应用实例 166
【例6-21】 多幅图像显示应用实例 167
【例6-22】 rgb2hsv函数应用实例 170
【例6-23】 rgb2ntsc函数应用实例 170
【例6-24】 rgb2ycbcr函数应用实例 171
【例8-1】 默认属性创建图形实例 187
【例8-2】 创建图形窗口实例 190
【例8-3】 创建坐标轴对象实例 194
【例8-4】 创建一个线对象并获取句柄值实例 199
【例8-5】 创建一个文本实例 201
【例8-6】 鼠标加字符注释实例 201
【例8-7】 创建一个矩形对象实例 205
【例8-8】 创建表面对象实例 206
【例8-9】 创建片块对象实例 208
【例8-10】 创建光源对象实例 210
【例8-11】 创建图像对象实例 212
【例8-12】 低层指令绘图获取句柄实例 214
【例8-13】 文字注释和改变默认颜色实例 218
【例8-14】 改变颜色与线型顺序实例 218
【例8-15】 findobj等指令的使用实例 220
【例9-1】 创建菜单实例 226
【例9-2】 回调属性实例 229
【例9-3】 菜单快捷键实例 231
【例9-4】 分隔线‘Separator’实例 233
【例9-5】 标志‘Checked’属性实例 234
【例9-6】 Enable与Visible属性实例 235
【例9-7】 现场菜单的制作实例 237
【例9-8】 按钮的制作实例 244
【例9-9】 单选按钮的创建实例 246
【例9-10】 框架的创建实例 247
【例9-11】 创建面板与按钮组实例 249
【例9-12】 文本标签的创建实例 253
【例9-13】 文本标签的创建实例 253
【例9-14】 编辑文本框的创建实例 254
【例9-15】 滑动条的创建实例 257
【例9-16】 下拉菜单的创建实例 260
【例9-17】 列表框的创建实例 263
【例9-18】 双位按钮的创建实例 265
【例10-1】 GUI界面程序设计实例 270
【例10-2】 创建普通对话框实例 285
【例10-3】 创建打开文件对话框实例 287
【例10-4】 创建保存文件对话框实例 288
【例10-5】 创建颜色设置对话框实例 289
【例10.6】 创建字体设置对话框实例 290
【例10-7】 创建输入对话框实例 291
【例10-8】 创建消息显示对话框实例 292
【例10-9】 创建提问对话框实例 293
【例10-10】 创建出错对话框实例 293
【例11-1】 回调函数实例 297
【例11-2】 递归函数调用实例 300
【例11.3】 GUI M文件调用实例 303
【例11.4】 “@”语句形式调用实例 304
【例11-5】 初级GUI编程实例 306
【例11-6】 改变线条属性实例 310
【例11-7】 改变目标按钮的位置实例 317
【例12-1】 绘制极坐标曲线实例 325
【例12-2】 绘制二次曲面方程实例 329
【例12-3】 函数极限可视化实例 333
【例12-4】 求函数的零点实例 337
【例12-5】 多项式的曲线拟合实例 341
【例12-6】 求函数在X处的导数实例 346
【例12-7】 采用差分法求函数导数实例 350
【例12-8】 函数的数值定积分实例 354
【例12-9】 计算二重积分实例 358
【例12-10】 求解微分方程实例 362
【例13-1】 导弹打击过程模拟实例 367
【例13-2】 可控速度的旋螺线运动实例 372
【例13-3】 碰撞运动后速度与质量比关系实例 375
【例13-4】 应力状态莫尔圆分析实例 380
【例13-5】 分子运动麦克斯韦速度分布律实例 386
【例13-6】 研究偶极子的电势和电场强度实例 391
【例13-7】 计算电流环产生的磁场分布实例 395
【例13-8】 波的合成及拍频现象实例 400
【例13-9】 光的双缝干涉图案实例 405
【例14-1】 直流电阻电路分析实例 411
【例14-2】 戴维南定理求解电路实例 416
【例14-3】 动态电路分析实例 421
【例14-4】 RLC串联电路零状态响应实例 425
【例14-5】 正弦稳态电路分析实例 430
【例14-6】 非正弦交流电路分析实例 434
【例14-7】 调谐振荡电路分析实例 437
【例14-8】 验证电路信号合成定理实例 442