MATLAB GUI设计入门与实战

MATLAB GUI设计入门与实战
书籍作者:
余胜威
书籍出版:
清华大学出版社
书籍页数:
332
书籍ISBN:
9787302420576
书籍人气:
5214
推荐指数:
★★★★

MATLAB GUI设计入门与实战
编辑推荐

  MATLAB中文论坛鼎力支持,提供“在线交流,有问必答”网络互动答疑服务,赠送教学PPT

  详解7种常用文件操作、15种常用处理方法、10种弹出窗口、8种GUI常用功能、17种GUI高级应用

  对29种GUI工具栏按钮的功能做了极其详细的讲解,这在同类图书中是不多见的

  注重实战,用大量的篇幅详细介绍了17个真实的MATLABGUI设计案例

  讲解过程中提供了大量图示,以帮助读者直观地理解所学知识

  国内极具人气的MATLAB&Simulink技术交流平台——MATLAB中文论坛联合本书作者和编辑,一起为您提供与本书相关的问题解答和MATLAB技术支持服务,让您获得良好的阅读体验。请随时登录MATLAB中文论坛,提出您在阅读本书时产生的疑问,作者将定期为您解答。您对本书的任何建议也可以在论坛上发帖,以便于我们后续改进。您的建议将是我们创造精品的动力和源泉。


  

内容简介

  《MATLAB GUI设计入门与实战》结合大量实例和具体案例分析,全面、系统地讲解了MATLAB GUI设计从入门到实际应用的方方面面内容。书中对GUI各功能按键的使用做了极其细致的讲解,这在同类图书中是不多见的。

  本书共10章,分为2篇。第1篇为MATLAB GUI设计入门,涵盖的主要内容有MATLAB入门与提高、常用文件操作、MATLAB弹出窗口定义、Figure图形句柄获取、GUI界面按钮功能介绍及GUI工具栏编辑器。第2篇为MATLAB GUI设计实战,涵盖的主要内容有 GUI常用功能介绍、GUI的mcc编译和dll生成、GUI音视频数据处理及GUI经典案例分析与应用。

  本书适合所有想全面学习MATALB GUI设计的人员阅读,也适合各种使用MATALB进行开发的工程技术人员阅读。对于相关高校的教学与研究,本书也是不可或缺的参考书。另外,对于MATLAB爱好者,本书也对网络上讨论的大部分疑难问题给出了解答,值得一读。

  15种常用处理方法:函数调用数据插值、数据拟合、线性方程求解、非线性方程求解、概率统计、图像处理、Mat文件读写、Txt文件读写、Excel读写、音视频读写、神经网络窗口属性设置、虚拟现实窗口属性设置、Figure图形句柄属性设置、mcc编译、dll编译

  8种GUI常用功能:文本数据读取、图像放大、文件加载、一轴多图像显示、回调函数使用、窗体矢量化设置、GUI间相互调用、GUI间数据传递

  17种GUI高级应用:视频处理、音频处理、串口通信、概率密度统计、曲线线型及颜色更改、数据拟合、倒立摆系统、图像颜色空间转换、图像灰度处理、图像滤波去噪、图像边缘检测、彩色图像分割、医学图像分割、粒子群算法、遗传算法、蚁群算法、Pareto多目标求解。

  一分钟了解本书精华内容

  MATLAB入门与提高

  MATLAB常用文件操作

  MATLAB弹出窗口定义

  Figure图形句柄获取

  GUI界面按钮功能介绍

  GUI工具栏编辑器

  GUI常用功能介绍

  基于GUI的mcc编译和dll生成

  MATLAB生成dll供Visual Stdio2010调用

  Visual Stdio2010生成dll供MATLAB调用

  基于GUI音视频数据处理

  视频处理

  音频处理

  串口通信

  GUI经典案例分析与应用

  数据概率密度函数统计GUI设计

  曲线线型及颜色更改GUI设计

  数据拟合GUI设计

  倒立摆系统GUI设计

  图像颜色空间转换GUI设计

  图像灰度处理GUI设计

  图像滤波去噪GUI设计

  图像边缘检测GUI设计

  彩色图像分割GUI设计

  医学图像分割GUI设计

  粒子群算法模型求解GUI设计

  遗传算法模型求解GUI设计

  蚁群算法TSP动态GUI设计

  Pareto多目标求解GUI设计

作者简介

  余胜威,毕业于西南交通大学。有6年以上的MATLAB应用经验,精通MATLAB算法开发。曾经8次荣获全国及省级数学建模竞赛大奖。发表论文多篇,独立编写MATLAB应用技术图书7部。目前主要从事图像处理、模式识别、音效增强和算法开发等研究。


  吴婷,西南交通大学硕士。精通MATLAB科学计算、GUI设计、杜邦分析和数据预测算法等。目前主要从事公司金融、风险管理及股票预测算法挖掘等研究。


  罗建桥,西南交通大学硕士。长期从事MATLAB算法研究,精通MATLAB数值计算、小波分析和图像处理。先后多次参与国家自然科学基金项目。目前主要从事图像语义分析和机器半监督/无监督学习等研究。

内页插图 目录

第1篇 MATLAB GUI设计入门

第1章 MATLAB入门与提高

1.1 矩阵运算

1.1.1 数值矩阵运算

1.1.2 符号矩阵生成

1.1.3 元胞数组

1.1.4 结构体

1.1.5 数据类型转换

1.2 Figure图形属性设置

1.2.1 plot绘图

1.2.2 线型和颜色设置

1.2.3 图像网格化grid

1.2.4 曲面图绘制

1.2.5 特殊字符标记

1.3 函数及其调用

1.3.1 函数类型

1.3.2 函数参数传递

1.4 数据插值

1.4.1 一维数据插值

1.4.2 二维数据插值

1.5 数据拟合

1.5.1 最小二乘拟合工具箱

1.5.2 多项式拟合

1.5.3 非线性拟合

1.6 微分方程求解

1.6.1 数值积分运算

1.6.2 微分方程数值解Ode

1.7 线性方程组求解

1.7.1 牛顿Newton迭代法

1.7.2 高斯-赛德尔Gauss-Seidel迭代法

1.7.3 雅克比Jacobi迭代法

1.8 非线性方程组求解

1.8.1 线性规划求解

1.8.2 非线性规划求解

1.9 概率统计

1.9.1 概率密度函数

1.9.2 随机变量特征分析

1.9.3 随机数概率密度函数绘图

1.9.4 蒙特卡洛Monte Carlo算法

1.10 图像处理

1.10.1 图像采样

1.10.2 图像数据类型

1.10.3 图像颜色空间

1.10.4 图像运算

1.11 本章小结

第2章 MATLAB常用文件操作

2.1 Mat文件的读取与写入

2.1.1 Mat文件的写入

2.1.2 Mat文件的读取

2.2 Txt文件的读取与写入

2.2.1 Txt文件的打开

2.2.2 Txt文件数据的导入

2.3 EXCEL文件的读取与写入

2.3.1 EXCEL数据的读取

2.3.2 EXCEL数据的写入

2.4 神经网络Net训练窗口的显示与关闭

2.5 虚拟现实Virtual reality窗口的显示与关闭

2.6 图像读取与保存

2.6.1 图像读取

2.6.2 图像保存

2.7 视频采集、保存与读取

2.7.1 视频的采集

2.7.2 视频的保存

2.7.3 视频的读取

2.8 音频采集、保存与读取

2.8.1 音频数据的采集

2.8.2 音频数据的保存

2.8.3 音频数据的读取

2.9 本章小结

第3章 MATLAB弹出窗口定义

3.1 文件打开操作uigetfile

3.2 路径选择对话框uigetdir

3.3 文件保存操作uiputfile

3.4 程序运行进度条waitbar

3.5 错误提示对话框errordlg

3.6 警告提示对话框warndlg

3.7 用户提示对话框msgbox

3.8 提问对话框questdlg

3.9 数据输入对话框inputdlg

3.10 本章小结

第4章 Figure图形句柄获取

4.1 Figure窗口功能

4.2 Figure窗口属性

4.2.1 设置Figure窗口属性

4.2.2 Figure函数使用

4.3 坐标轴设置

4.3.1 显示范围设置

4.3.2 显示方向设置

4.3.3 坐标轴刻度修改

4.4 Figure图形保存

4.4.1 带坐标轴保存

4.4.2 不带坐标轴保存

4.5 查找对象并删除对象

4.6 Text对象

4.6.1 图形添加注释

4.6.2 字体颜色

4.6.3 字体大小

4.6.4 字体粗细

4.6.5 字体倾斜角度

4.7 图形区域填充显示

4.8 Figure动画显示

4.9 自定义菜单设计

4.10 本章小结

第5章 GUI界面按钮功能介绍

5.1 GUI打开、关闭与保存

5.2 GUI按钮

5.3 GUI滑块

5.4 GUI单选按钮

5.5 GUI复选框

5.6 GUI可编辑文本

5.7 GUI静态文本

5.8 GUI弹出式菜单

5.9 GUI列表框

5.10 GUI切换按钮

5.11 GUI表

5.12 GUI轴

5.13 GUI面板

5.14 GUI按钮组

5.15 GUI ActiveX控件

5.16 本章小结

第6章 GUI工具栏编辑器

6.1 GUI工具栏启动

6.2 GUI新建

6.3 GUI打开

6.4 GUI保存

6.5 GUI剪切、复制和粘贴

6.6 GUI撤销与重做

6.7 GUI对齐对象

6.8 GUI菜单编辑器

6.9 GUI Tab键顺序编辑器

6.10 GUI工具栏编辑器

6.11 GUI编辑器

6.12 GUI属性检查器

6.13 GUI对象浏览器

6.14 GUI执行

6.15 本章小结

第2篇 MATLAB GUI设计实战

第7章 GUI常用功能介绍

7.1 GUI界面文本数据读取

7.2 GUI界面图形图像放大显示

7.3 GUI文件的加载

7.4 GUI一轴多幅图像显示

7.5 GUI回调函数脚本文件写入

7.6 GUI矢量化窗体设置

7.7 GUI中调用其他GUI

7.8 不同GUI数据传输

7.9 本章小结

第8章 基于GUI的mcc编译和dll生成

8.1 mcc编译

8.2 dll生成

8.2.1 MATLAB生成dll供Visual Stdio2010调用

8.2.2 Visual Stdio2010生成dll供MATLAB调用

8.3 加密文件pcode

8.4 本章小结

第9章 基于GUI音视频数据处理

9.1 视频处理

9.1.1 图像基础知识

9.1.2 图像运算与区域处理

9.1.3 视频图像获取

9.2 音频数据处理

9.3 串口通信

9.3.1 通信信道含义

9.3.2 串行通信基本概念

9.3.3 通信传输模式

9.3.4 串口通信参数

9.3.5 数据校验方法

9.3.6 虚拟串口安装

9.3.7 串口接收数据

9.3.8 串口发送数据

9.4 本章小结

第10章 GUI案例应用与设计

10.1 数据概率密度函数统计GUI设计

10.1.1 均匀分布rand()

10.1.2 正态分布randn()

10.1.3 卡方分布chi2rnd()

10.1.4 F分布frnd()

10.1.5 t分布trnd()

10.1.6 beta分布betarnd()

10.1.7 指数分布exprnd()

10.1.8 Gamma分布gamrnd()

10.1.9 对数正态分布lognrnd()

10.1.10 二项分布binornd()

10.1.11 几何分布geornd()

10.2 曲线线型及颜色更改GUI设计

10.3 数据拟合GUI设计

10.4 倒立摆系统GUI设计

10.4.1 倒立摆系统分析

10.4.2 极点配置求解

10.4.3 LQR参数整定

10.4.4 PID参数整定

10.4.5 倒立摆系统GUI设计

10.4.6 利用闭环系统极点配置设计控制器

10.4.7 利用LQR法设计控制器

10.4.8 利用PID法设计控制器

10.5 图像颜色空间转换GUI设计

10.6 图像灰度处理GUI设计

10.7 图像滤波去噪GUI设计

10.8 图像边缘检测GUI设计

10.8.1 Sobel算子

10.8.2 Prewitt算子

10.8.3 Canny算子

10.8.4 MATLAB自带边缘检测设计

10.8.5 用户自定义边缘检测设计

10.9 彩色图像分割GUI设计

10.10 医学图像分割GUI设计

10.11 粒子群算法模型求解设计

10.12 遗传算法模型求解GUI设计

10.13 蚁群算法TSP动态GUI设计

10.14 Pareto多目标求解GUI设计

10.15 本章小结

参考文献

前言/序言

  MATLAB作为一款科学计算软件广泛地被科研人员所接受。其强大的数据计算能力、图像可视化界面及代码的可移植性受到了广大用户的认可。在图形用户界面(Graphical User Interface,GUI)设计领域,MATLAB同样有着强大的设计能力,从而被广泛地应用于GUI的设计。MATLAB GUI是一个可视化的软件显示平台,一旦程序设计完成后,GUI采用定参数化的方法,用户不需要修改程序设计部分,而只需要在GUI界面中修改设定的参数即可。因此GUI的人机互动性很好。

  目前图书市场上的MATLAB GUI设计图书千篇一律,而且有些书中的相关程序设计采用了较难的GUI句柄结构体,导致读者看不懂,学不会。为了让读者能够全面、系统地学习MATLAB GUI设计,笔者进行了相关市场调研,了解了相关读者的实际需求,有针对性地编写了本书。本书全面、系统地讲解了MATLAB GUI设计的方方面面知识,从基本的GUI按钮功能到复杂的GUI设计,从脚本文件调试到GUI嵌套使用……而且书中采用了与GUI设计完全匹配脚本文件程序设计的思想,通过详细介绍每一个案例中的每一个按钮,让读者能够真正掌握GUI算法。相信通过阅读本书内容,读者可以全面、深入地掌握MATLAB GUI设计。

  本书特色

  1. 提供“在线交流,有问必答”网络互动答疑服务

  国内最大的MATLAB&Simulink技术交流平台——MATLAB中文论坛(www.iLoveMatlab.

  cn)联合本书作者和编辑,一起为您提供与本书相关的问题解答和MATLAB技术支持服务,让您获得最佳的阅读体验。具体参与方式请详细阅读本书封底的说明。

  2.内容讲解不枯燥

  本书结合MATLAB GUI设计的相关理论,通过大量具体实例和案例来讲解MATLAB GUI设计,内容直观而具体,阅读起来不枯燥。

  3.内容丰富,覆盖面广

  本书基本包括了常见的GUI设计应用知识,具体包括MATLAB入门与提高、常用文件操作、MATLAB弹出窗口定义、Figure图形句柄获取、GUI界面按钮功能介绍、GUI工具栏编辑器、GUI常用功能介绍、基于GUI的mcc编译和dll生成、基于GUI音视频数据处理及GUI经典案例分析与应用等。针对GUI全部功能命令、GUI处理数据拟合显示、图像显示和智能算法优化等,本书采用最简单的GUI设计方法,让初学者通过阅读本书,也可以开发出适用于自己问题的GUI软件。

  4.循序渐进,由浅入深

  本书结合市场广大MATLAB新手以及爱好者的需求,从GUI基本知识切入,逐步深入,以使读者真正掌握GUI设计理念。

  5.真实案例,随学随用

  本书是一本注重实践的书。因此,有大量的篇幅用在了真实的MATLAB GUI设计与案例开发中。本书偏重于GUI功能应用,如字符串写入和读取、单选按钮的使用、按钮控件的应用以及轴显示图形应用等,读者可以从这些实例中更加深刻地理解,同时只需要稍加修改这些案列,即可用于读者正在应用的项目或课题上去,从而实现问题的求解。

  6.语言通俗易懂,讲解图文并茂

  本书用通俗易懂的语言讲解各个知识点和算法案例,而且在讲解过程中提供了大量的图示帮助读者直观地理解所学知识。所以无论是新手,还是有一定基础的读者,都能顺利地阅读本书,从而提高自己的算法水平。

  本书内容及体系结构

  第1篇 MATLAB GUI设计入门(第1~6章)

  本篇介绍了MATLAB GUI设计的相关入门知识,包括MATLAB入门与提高、常用文件操作、MATLAB弹出窗口定义、Figure图形句柄获取、GUI界面按钮功能介绍及GUI工具栏编辑器等。本篇通过较为基本的GUI设计知识点引入,读者可以应用这些基本功能解决相关的GUI设计问题。通过本篇内容的学习,也为第2篇的学习打下了坚实的基础。

  第2篇 MATLAB GUI设计实战(第7~10章)

  本篇涉及面较广,涵盖GUI的常用功能、基于GUI的mcc编译和dll生成、基于GUI的音视频数据处理及GUI经典案例分析与应用等。本篇通过GUI设计的逐步深入,给出了具体的案例分析,从而让读者能够真正提高GUI设计的实际应用能力,真正掌握GUI设计应用核心,开发和设计出自己的可视化软件界面。

  本书读者对象

  MATALB GUI设计初学者;

  MATLAB GUI设计提高人员;

  MATALB GUI设计爱好者;

  MATALB相关从业人员;

  大中专院校的师生;

  相关培训学校的学员;

  MATLAB爱好者。



第1篇 MATLAB GUI设计入门

第1章 MATLAB入门与提高

1.1 矩阵运算

1.1.1 数值矩阵运算

1.1.2 符号矩阵生成

1.1.3 元胞数组

1.1.4 结构体

1.1.5 数据类型转换

1.2 Figure图形属性设置

1.2.1 plot绘图

1.2.2 线型和颜色设置

1.2.3 图像网格化grid

1.2.4 曲面图绘制

1.2.5 特殊字符标记

1.3 函数及其调用

1.3.1 函数类型

1.3.2 函数参数传递

1.4 数据插值

1.4.1 一维数据插值

1.4.2 二维数据插值

1.5 数据拟合

1.5.1 最小二乘拟合工具箱

1.5.2 多项式拟合

1.5.3 非线性拟合

1.6 微分方程求解

1.6.1 数值积分运算

1.6.2 微分方程数值解Ode

1.7 线性方程组求解

1.7.1 牛顿Newton迭代法

1.7.2 高斯-赛德尔Gauss-Seidel迭代法

1.7.3 雅克比Jacobi迭代法

1.8 非线性方程组求解

1.8.1 线性规划求解

1.8.2 非线性规划求解

1.9 概率统计

1.9.1 概率密度函数

1.9.2 随机变量特征分析

1.9.3 随机数概率密度函数绘图

1.9.4 蒙特卡洛Monte Carlo算法

1.10 图像处理

1.10.1 图像采样

1.10.2 图像数据类型

1.10.3 图像颜色空间

1.10.4 图像运算

1.11 本章小结

第2章 MATLAB常用文件操作

2.1 Mat文件的读取与写入

2.1.1 Mat文件的写入

2.1.2 Mat文件的读取

2.2 Txt文件的读取与写入

2.2.1 Txt文件的打开

2.2.2 Txt文件数据的导入

2.3 EXCEL文件的读取与写入

2.3.1 EXCEL数据的读取

2.3.2 EXCEL数据的写入

2.4 神经网络Net训练窗口的显示与关闭

2.5 虚拟现实Virtual reality窗口的显示与关闭

2.6 图像读取与保存

2.6.1 图像读取

2.6.2 图像保存

2.7 视频采集、保存与读取

2.7.1 视频的采集

2.7.2 视频的保存

2.7.3 视频的读取

2.8 音频采集、保存与读取

2.8.1 音频数据的采集

2.8.2 音频数据的保存

2.8.3 音频数据的读取

2.9 本章小结

第3章 MATLAB弹出窗口定义

3.1 文件打开操作uigetfile

3.2 路径选择对话框uigetdir

3.3 文件保存操作uiputfile

3.4 程序运行进度条waitbar

3.5 错误提示对话框errordlg

3.6 警告提示对话框warndlg

3.7 用户提示对话框msgbox

3.8 提问对话框questdlg

3.9 数据输入对话框inputdlg

3.10 本章小结

第4章 Figure图形句柄获取

4.1 Figure窗口功能

4.2 Figure窗口属性

4.2.1 设置Figure窗口属性

4.2.2 Figure函数使用

4.3 坐标轴设置

4.3.1 显示范围设置

4.3.2 显示方向设置

4.3.3 坐标轴刻度修改

4.4 Figure图形保存

4.4.1 带坐标轴保存

4.4.2 不带坐标轴保存

4.5 查找对象并删除对象

4.6 Text对象

4.6.1 图形添加注释

4.6.2 字体颜色

4.6.3 字体大小

4.6.4 字体粗细

4.6.5 字体倾斜角度

4.7 图形区域填充显示

4.8 Figure动画显示

4.9 自定义菜单设计

4.10 本章小结

第5章 GUI界面按钮功能介绍

5.1 GUI打开、关闭与保存

5.2 GUI按钮

5.3 GUI滑块

5.4 GUI单选按钮

5.5 GUI复选框

5.6 GUI可编辑文本

5.7 GUI静态文本

5.8 GUI弹出式菜单

5.9 GUI列表框

5.10 GUI切换按钮

5.11 GUI表

5.12 GUI轴

5.13 GUI面板

5.14 GUI按钮组

5.15 GUI ActiveX控件

5.16 本章小结

第6章 GUI工具栏编辑器

6.1 GUI工具栏启动

6.2 GUI新建

6.3 GUI打开

6.4 GUI保存

6.5 GUI剪切、复制和粘贴

6.6 GUI撤销与重做

6.7 GUI对齐对象

6.8 GUI菜单编辑器

6.9 GUI Tab键顺序编辑器

6.10 GUI工具栏编辑器

6.11 GUI编辑器

6.12 GUI属性检查器

6.13 GUI对象浏览器

6.14 GUI执行

6.15 本章小结

第2篇 MATLAB GUI设计实战

第7章 GUI常用功能介绍

7.1 GUI界面文本数据读取

7.2 GUI界面图形图像放大显示

7.3 GUI文件的加载

7.4 GUI一轴多幅图像显示

7.5 GUI回调函数脚本文件写入

7.6 GUI矢量化窗体设置

7.7 GUI中调用其他GUI

7.8 不同GUI数据传输

7.9 本章小结

第8章 基于GUI的mcc编译和dll生成

8.1 mcc编译

8.2 dll生成

8.2.1 MATLAB生成dll供Visual Stdio2010调用

8.2.2 Visual Stdio2010生成dll供MATLAB调用

8.3 加密文件pcode

8.4 本章小结

第9章 基于GUI音视频数据处理

9.1 视频处理

9.1.1 图像基础知识

9.1.2 图像运算与区域处理

9.1.3 视频图像获取

9.2 音频数据处理

9.3 串口通信

9.3.1 通信信道含义

9.3.2 串行通信基本概念

9.3.3 通信传输模式

9.3.4 串口通信参数

9.3.5 数据校验方法

9.3.6 虚拟串口安装

9.3.7 串口接收数据

9.3.8 串口发送数据

9.4 本章小结

第10章 GUI案例应用与设计

10.1 数据概率密度函数统计GUI设计

10.1.1 均匀分布rand()

10.1.2 正态分布randn()

10.1.3 卡方分布chi2rnd()

10.1.4 F分布frnd()

10.1.5 t分布trnd()

10.1.6 beta分布betarnd()

10.1.7 指数分布exprnd()

10.1.8 Gamma分布gamrnd()

10.1.9 对数正态分布lognrnd()

10.1.10 二项分布binornd()

10.1.11 几何分布geornd()

10.2 曲线线型及颜色更改GUI设计

10.3 数据拟合GUI设计

10.4 倒立摆系统GUI设计

10.4.1 倒立摆系统分析

10.4.2 极点配置求解

10.4.3 LQR参数整定

10.4.4 PID参数整定

10.4.5 倒立摆系统GUI设计

10.4.6 利用闭环系统极点配置设计控制器

10.4.7 利用LQR法设计控制器

10.4.8 利用PID法设计控制器

10.5 图像颜色空间转换GUI设计

10.6 图像灰度处理GUI设计

10.7 图像滤波去噪GUI设计

10.8 图像边缘检测GUI设计

10.8.1 Sobel算子

10.8.2 Prewitt算子

10.8.3 Canny算子

10.8.4 MATLAB自带边缘检测设计

10.8.5 用户自定义边缘检测设计

10.9 彩色图像分割GUI设计

10.10 医学图像分割GUI设计

10.11 粒子群算法模型求解设计

10.12 遗传算法模型求解GUI设计

10.13 蚁群算法TSP动态GUI设计

10.14 Pareto多目标求解GUI设计

10.15 本章小结

参考文献

  • 下载地址

数据库书籍

网络通讯书籍

系统管理书籍