读《MATLAB GUI设计学习笔记》的体会
摘要:本文在简介书籍全部内容的同时,主要介绍阅读《MATLAB GUI设计学习笔记》后所注重的,所有体会的内容,加以自己的理解和感受,以达到读有所用的效果,并且在此基础上激励自己学习更高深的知识。
关键字:MATLAB,Tex,HTML,
1、概述
基于自己所学的专业,我感觉到学科的计算量很大,而且其中还有很多的数值分析问题。这些难题依靠人的能力是很难较好解决的,所以必须借助计算机,借助相应的软件才行。通过别人的推荐和自己的体验,我觉得MATLAB在处理我所遇到的学科难题时显示出很高的效率,于是我决定好好学习一下这个编程语言和软件。在看完一些介绍MATLAB基础知识的书籍后,我又觉得自己不能只局限于用MATLAB去解决问题,而是要利用其去编写更方便和高效的函数或程序,所以我便从网上买到了《MATLAB GUI设计学习笔记》(第二版)。在寒假里,我详细地查看了每一章,每一节的内容,所看的内容如下所述。
2、内容简介
本书共分为十一章,每章依次由四节以下内容组成:知识点归纳、重难点讲解、专题分析、精选答疑。知识点归纳详细全面介绍了本章的内容与知识点,容易出错的地方用【注意】标明,个别地方配以详细地案例加以讲解;重难点讲解简要概括了本章的重点和难点,便于更好的理解和掌握;专题分析系统全面地对某个知识点进行专门讲解,以达到一针见血的效果;精选答疑筛选出在实践中出现疑惑的问题加以解答。另外本书还包含有大量的例题,这样边学边练,可以进一步牢固地掌握GUI的设计技巧和方法。
第1章:GU设计预备知识。这一章主要介绍了MATLAB的基本程序单元、几种GUI设计中常用的数据类型和矩阵操作函数,以及程序设计的5种句型(for,while循环结,if,switch条件分支结构和try?catch结构)。之后以专题形式,分别讲解了MATLAB的编程风格、代码优化以及基于MATLAB的M文件编程小技巧。
第2章:文件I/O。本章主要介绍了文件I/O操作的相关的数,分为高级文件I/O和低级文件I/O两部分。商级文件I/O介绍了读写MAT或ASCII文件、读写TXT文件、读写Execl文件、读写图像文件及读写音频文件的方法及相关函数;低级文件I/O介绍了读写二进制文件和读写文本文件的方法及相关函数。之后以专题形式,全面讲解了读写文本文件的技巧和方法。
第3章:二维绘图简介。本章主要介绍了与GLJI设计密切相关的线性二维绘图及其相关 函数、绘图工具函数和绘图注释函数.二维绘图函数常用于GUI设计中的教据可视化模块.
第4章:句柄图形系统。本章主要介绍了句柄图形对象的概念及其操作函数,各种句柄图形对象的概念及其操作函数,各种句柄图形函数的操作方法、属性及含义。之后以专题的形式,全面讲解了超文本标记语言(HTML)在MATLAB中的运用、表格设计及坐标轴设计。
第5章:预定义对话框。本章介绍了MATLAB环境下可调用的所有预定义对话框,包括公共对话框和MATLAB自定义的对话框。之后以专题的形式,详细介绍了预定义对话框在GUI设计中的应用。预定义对话框使得GUI设计变的更加直观和灵活。
第6章:采用GUIDE建立GUI。本章首先介绍了采用GUIDE建立GUI的方法,GUI的M文件构成,回调函数的分类,以及回调函数的编写方法,然后举例介绍了GUIDE环境下GUI组件的使用方法。最后以专题的形式,系统讲解了GUI对象之间的数据传递方法及回调函数的应用实例。
后面的7至11章的内容较为复杂,而且在我的学习的范围之外,因此不作介绍。
3、特色简介
除了一般介绍GUI设计的书籍都会包含的内容外,本书中还有其他的一些特色。下面就将介绍这些不一样的特色。
特色一:编程风格
代码格式要正确,表达清晰通用,这样才能写出具有共享性和易维护性的代码。良好的代码写作规范使得程序容易调试,易于修改。 (1)、命名规则:
①、变量名应该能够反映该变量的含义或用途,以小写字母开头,采用大小写混用模式 或下画线分割模式。
②、临时变址的变量名尽量短小。
③、前缀m或n通常用于申明数值对象,m代表matrix,n代表number,p代表指针。str代表字符串。 ④、尽量避免变量名以数字区别,以大小写区别或以后缀s区别。
⑤、布尔型变量禁止使用否定式的变量名,因为看起来别扭,也不简洁。 ⑥、函数名应该具有意义,要采用英文形式,禁止使用汉语拼音。 (2)、基本语句
总体原则:避免使用含糊代码。代码不是越简洁越好,而是越清楚越好。 ①在文件开始的位置,为函数的功能,变量的意义编写注释。 ②浮点数的运算要注意系统的误差。
③尽量在表达式中少用数字,多用可用来调试的变量。
④不要在循环语句中扩展矩阵的维数,而应预先给数组分配好内存。MATLAB的这个功能虽说方便,但会增大内存的开销。
⑤注释最好用英文书写,以免复制时出现乱码。
对于编程风格,很多人都很迷惑,为什么要讲这个?我觉得自己对这个问题深有感触。这种风格是很难体会到的,估计只有在你与别人对比时才能看出差距出来。每个人写出的代码都不可能完美无错,也不可能简洁明了,所以在学习编程一段时间后就要严格规范一下自己的风格,以便在以后的学习中能逐步获得良好的编程效率与体验,也就是这样,你才会逐渐喜欢上编程。
特色二:代码优化 (1)、遵守Performance Acceleration的规则
具体简化为以下7条:
①只有使用规定的数据类型,MATLAB才会对其加速。 ②超过三维的数组不会进行加速。
③当使用for循环时,只有遵守以下规则才会被加速: ⒈ 循环范围只用标量值来表示。
⒉ 循环内部的每条语句都要满足上面的两条规则,即只使用支持加速的数据类型,只使用三维以下
的数组。
⒊ 橄环内只侧用了内建函数。
④当使用if,elseif,while或switch.其条件测试语句中只使用了标量值时,将加速运行。 ⑤不要在一行中写入多条操作,这样会减慢运行的速度。
⑥不要改变原来变量的数据类型或形状(大小,维数)。 ⑦优先使用MATLAB中的内建函数。 (2)、遵循5条原则
①、尽量避免使用循环。
②、在多重循环中,将循环次数少的放在外层,将循环次数多的放在内层。 ③、预先给要使用的数组分配好内存。 ④、尽量使用函数,而不是使用脚本。 ⑤、认真检查代码中有波浪线提示的地方。
对于代码的优化,这就比编程风格更难掌握了。只有在牢固掌握基本知识和程序运行的基本原理后,才能对代码进行优化。本书的作者对MATLAB研究深入,提出了诸多的优化方案,确实值得借鉴。细细琢磨一下,也能对自己的编程能力有所提高。
特色三:M文件编程小技巧
在用MATLAB编程时,可以借助编辑器的一些功能来提高效率,例如下面的一些技巧。 (1)、Tab键右移整段代码。 (2)、Shift+Tab键左移整段代码。 (3)、输入函数名的前几个字符后按Tab键,编辑器会自动将其补全。 (4)、输入函数名和左括号后,停顿几秒,编辑器会提示函数的所有调用格式。 (5)、F1键显示某个变量或函数的帮助信息。 (6)、将鼠标放在红色波浪线上,编辑器会给出提示和帮助信息,可以帮助用户修改错误的变量,低效率的函数等。 (7)、采用代码分段符%%,对代码进行分段高亮显示,这样可以使得函数的每一个阶段的代码整齐有序的显示,便于调试与修改。 (8)、采用%{??%}结构来注释整段代码。
特色四:Tex字符
Tex字符可以表示希腊字母,可以很方便的显示一些数学函数或表达式等。例如:\\alpha表示α,\\beta可以表示β。除此之外,Tex字符还可以设置字体,颜色,位置。
对于字体的设置有以下几种: ①、\\bf:设置字体为粗体字。 ②、\\it:设置字体为斜体字。 ③、\\rm:设置为正常字体。
④、\\fontname{字体名}:设置字体名。 ⑤、\\fontsize{字体大小}:设置字体大小。 对于颜色的设置有两种:
①、\\color{颜色字符串}:颜色名为相应的英文单词。例如:\\color{red}。
②、\\color[rgb]{a b c}:设置字体颜色为RGB矩阵{a b c}所表示的颜色。例如:\\color{rgb}[1 1 1]。 对于位置的设置有三种:
①、_表示下标。例如:\\alpha_2表示α2。
②、^表示上标。例如:\\alpha^2表示α的平方。 ③、后面直接跟数字,则自动表示下标。
MATLAB的Tex字符,确实是对数学问题的一种的很好的显示方法,这却是其他编程工具软件所没有的。
特色五:超文本标记语言(HTML)在MATLAB中的应用
读《MATLAB GUI设计学习笔记》的体会
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)