第1章 GUI设计预备知识 1
1.1 知识点归纳 1
1.1.1 基本程序元素 1
1.1.2 数据类型 7
1.1.3 矩阵操作 40
1.1.4 程序设计 49
1.2 重难点讲解 61
1.2.1 矩阵、向量、标量与数组 61
1.2.2 数据类型转换 62
1.3 专题分析 65
专题1 MATLAB基本编程步骤 65
专题2 编程风格 67
专题3 代码优化 71
专题4 M 文件编程小技巧 75
1.4 精选答疑 82
问题1 单元数组占用的内存空间如何计算 82
问题2 如何生成指定格式的常矩阵、字符串 83
问题3 如何生成随机矩阵 85
问题4 如何查找或删除数据中满足条件的元素 87
问题5 如何给数组元素排序 89
问题6 如何从文本中查找数值 92
第2章 文件I/O 93
2.1 知识点归纳 93
2.1.1 高级文件I/O操作 93
2.1.2 低级文件I/O操作 110
2.2 重难点讲解 123
2.2.1 二进制文件与文本文件 123
2.2.2 sprintf与fprintf函数 124
2.2.3 fscanf与textscan函数 125
2.2.4 Excel文件操作 125
2.2.5 图像数据的操作 125
2.2.6 低级文件I/O操作 126
2.3 专题分析 126
专题5 MATLAB读写文本文件 126
2.4 精选答疑 136
问题7 如何提取Excel文件中的数据信息 136
问题8 如何由图像生成字符矩阵 139
问题9 如何循环播放WAV音乐,并可以倍速/慢速播放、暂停/继续播放和停止播放 141
问题10 如何读取文本和数值混合的文件中的数据 144
问题11 如何将十六进制数转换为float值 144
第3章 绘图简介 146
3.1 知识点归纳 146
3.1.1 常用的绘图函数 146
3.1.2 绘图工具 155
3.2 重难点讲解 158
3.2.1 二维绘图的相关函数 158
3.2.2 三维绘图的相关函数 159
3.3 精选答疑 159
问题12 如何绘制几何曲线,例如矩形、圆、椭圆、双曲线等 159
问题13 如何绘制数据的统计图 161
问题14 如何绘制特殊的字符、表达式 161
问题15 如何绘制网格图 162
第4章 句柄图形系统 163
4.1 知识点归纳 163
4.1.1 句柄图形对象 164
4.1.2 句柄图形对象的基本操作 165
4.1.3 句柄图形对象的基本属性 175
4.1.4 根对象 179
4.1.5 图形窗口对象 183
4.1.6 坐标轴对象 194
4.1.7 核心图形对象 200
4.1.8 uicontrol对象 221
4.1.9 hggroup对象 226
4.1.10 按钮组与面板 229
4.1.11 自定义菜单与右键菜单 231
4.1.12 工具栏与工具栏按钮 239
4.1.13 uitable对象 247
4.2 重难点讲解 257
4.2.1 句柄式图形对象的常用函数总结 257
4.2.2 Figure对象的几个重要属性 258
4.2.3 Axes对象的几个重要属性 259
4.2.4 Line对象的几个重要属性 260
4.2.5 text对象的几个重要属性 261
4.2.6 uitable对象的几个重要属性 261
4.2.7 uicontrol对象中的text控件与核心图形对象中的text对象的比较 262
4.2.8 对象的Tag值与句柄值的概念比较(对GUIDE创建的GUI而言) 262
4.2.9 uimenu与uicontextmenu对象 262
4.3 专题分析 262
专题6 超文本标记语言(HTML)在MATLAB中的应用 262
专题7 表格设计 273
专题8 坐标轴设计 277
4.4 精选答疑 282
问题16 如何创建满足要求的line对象 282
问题17 如何创建动态的GUI对象 283
问题18 如何为窗口设计背景图片 285
问题19 如何定制窗口的菜单 286
问题20 如何设计窗口菜单并编写回调函数 287
问题21 如何采用UI控件实现简易的时钟 288
问题22 如何实现文字的水平循环滚动效果 290
问题23 如何构造和使用hggroup对象 293
问题24 如何使窗口最大化、最小化、置顶和居中,如何在窗口中更换图标 295
问题25 怎样利用Uitable对象在列名、行名或单元格中输入上下标和希腊字母 296
问题26 如何更改菜单项的字体大小,如何设置菜单项的字体颜色 296
问题27 如何逐个输出坐标轴内的图形到单独的图片中 297
问题28 如何将多幅图片显示到同一个坐标轴 299
第5章 预定义对话框 301
5.1 知识点归纳 301
5.1.1 文件打开对话框(uigetfile) 302
5.1.2 文件保存对话框(uiputfile) 304
5.1.3 颜色设置对话框(uisetcolor) 305
5.1.4 字体设置对话框(uisetfont) 306
5.1.5 页面设置对话框(pagesetupdlg) 307
5.1.6 打印预览对话框(printpreview) 307
5.1.7 打印设置对话框(printdlg) 307
5.1.8 进度条(waitbar) 307
5.1.9 菜单选择对话框(menu) 312
5.1.10 普通对话框(dialog) 314
5.1.11 错误对话框(errordlg) 314
5.1.12 警告对话框(warndlg) 317
5.1.13 帮助对话框(helpdlg) 318
5.1.14 信息对话框(msgbox) 319
5.1.15 提问对话框(questdlg) 320
5.1.16 输入对话框(inputdlg) 321
5.1.17 目录选择对话框(uigetdir) 322
5.1.18 列表选择对话框(listdlg) 322
5.2 重难点讲解 323
5.2.1 uigetfile 323
5.2.2 uiputfile 324
5.2.3 waitbar 324
5.2.4 msgbox 324
5.2.5 questdlg 324
5.2.6 inputdlg 324
5.2.7 listdlg 325
5.3 专题分析 325
专题9 预定义对话框在GUI设计中的应用 325
5.4 精选答疑 329
问题29 如何制作一个嵌套到当前窗口内的进度条 329
问题30 如何制作文件浏览器 332
问题31 如何制作一个颜色选择器 334
第6章 采用GUIDE建立GUI 336
6.1 知识点归纳 336
6.1.1 GUIDE界面基本操作 337
6.1.2 GUI的M 文件 346
6.1.3 回调函数 355
6.1.4 GUI跨平台的兼容性设计 358
6.1.5 断点调试和代码性能分析器 359
6.1.6 采用GUIDE创建GUI的步骤 359
6.1.7 触控按钮(Push Button) 360
6.1.8 静态文本(Static Text) 362
6.1.9 切换按钮(Toggle Button) 364
6.1.10 滑动条(Slider) 366
6.1.11 单选按钮(Radio Button) 368
6.1.12 可编辑文本(Edit Text) 369
6.1.13 复选框(Check Box) 371
6.1.14 列表框(Listbox) 373
6.1.15 弹起式菜单(Pop up Menu) 374
6.1.16 按钮组(Button Group) 376
6.1.17 面板(Panel) 378
6.1.18 表格(Table) 379
6.1.19 坐标轴(axes) 384
6.2 重难点讲解 386
6.2.1 回调函数中的数据传递 386
6.2.2 GUI界面之间的数据传递 387
6.2.3 KeyPressFcn与CurrentCharacter 388
6.2.4 WindowButtonDownFcn、Callback与SelectionType 388
6.3 专题分析 388
专题10 GUI对象之间的数据传递 388
专题11 回调函数的应用实例 393
6.4 精选答疑 405
问题32 如何动态修改List Box的选项 405
问题33 如何动态修改Pop Up Menu的选项 407
问题34 如何实现图片的局部放大预览 411
第7章 串口编程 414
7.1 知识点归纳 414
7.1.1 串口概述 414
7.1.2 串口对象的属性 416
7.1.3 串口的基本操作 420
7.1.4 串口I/O函数汇总 423
7.2 重难点讲解 424
7.2.1 串口对象的创建 424
7.2.2 重要的串口操作函数 424
第8章 采用App Designer建立APP 425
8.1 知识点归纳 425
8.1.1 App Designer简介 426
8.1.2 启动 App Designer 427
8.1.3 17种常用对象 431
8.1.4 2种容器对象 449
8.1.5 1种图窗工具对象 452
8.1.6 10种仪器对象 453
8.1.7 回调函数表 455
8.1.8 9种常用对话框 456
8.2 重难点讲解 468
8.2.1 获取对象的属性值 468
8.2.2 私有属性的传递 470
8.2.3 公共属性的传递 473
8.2.4 私有函数的调用 474
8.2.5 公共函数的调用 476
8.2.6 通过脚本访问APP 478
8.2.7 APP界面添加背景图片 478
8.2.8 3种APP打包方式 479
8.2.9 浅谈App Designer代码结构 488
8.3 专题分析 491
专题12 使用App Designer设计两窗口APP 491
专题13 使用App Designer设计多窗口APP 499
8.4 精选答疑 514
问题35 如何使用App Designer设计数字信号滤波器 514
问题36 如何使用App Designer设计数字图像处理器 519
问题37 如何采用纯代码创建APP 525
问题38 如何将GUIDE 创建的APP迁移至App Designer 529
附 录 MATLAB GUI设计常用函数 533