MATLAB神经网络超级学习手册(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-04 12:22:32

点击下载

作者:MATLAB技术联盟,刘冰,郭海霞

出版社:信息技术第一出版分社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

MATLAB神经网络超级学习手册

MATLAB神经网络超级学习手册试读:

前言

MATLAB是国际上公认的最优秀的数值计算和仿真分析软件之一,并且具有很强的开放性。到目前为止,MATLAB平台已经推出了几十种针对不同应用的工具箱,其中为满足神经网络研究而开发的神经网络工具箱是其重要组成部分。

人工神经网络(Artificial Neural Network,ANN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络由大量的人工神经元联结进行计算。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。大多数情况下,人工神经网络能在外界信息的基础上改变内部结构,是一种自适应系统。

神经网络的研究可以分为理论研究和应用研究两大方面。在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能,构建专家系统等。

本书基于MATLAB R2013a 软件详细讲解进行神经网络设计的方法和技巧,同时给出了MATLAB在神经网络方面的应用。

1.本书特点

由浅入深,循序渐进:本书以初中级读者为对象,首先从MATLAB使用基础讲起,再以神经网络在MATLAB中的应用案例帮助读者尽快掌握神经网络设计的技能。

步骤详尽,内容新颖:本书结合作者多年MATLAB神经网络使用经验与实际工程应用案例,将MATLAB软件的使用方法与技巧详细地讲解给读者。本书在讲解过程中步骤详尽、内容新颖,讲解过程辅以相应的图片,使读者在阅读时一目了然,从而快速把握书中所讲内容。

实例典型,轻松易学:学习实际工程应用案例的具体操作是掌握神经网络设计最好的方式。本书通过综合应用案例,透彻详尽地讲解了神经网络在各方面的应用。

2.本书内容

本书基于MATLAB R2013a 版软件,讲解了神经网络设计的基础知识和核心内容。本书主要分为两个部分:MATLAB基础知识和神经网络工具箱。

第1章 本章简单介绍了MATLAB 的基本知识,包括简介、特点、安装、工作环境等。对MATLAB软件的基本用途和方法也做了简单介绍。

第2章 本章对Simulink 做了简单介绍,包括simulink 基础以及Simulink 组成、工作原理和环境设置等。

第3章 本章介绍了MATLAB程序设计,包括MATLAB的程序结构、MATLAB 控制语句、数据的输入和输出、文件操作、程序优化和程序调试等内容。

第4章 本章介绍了人工神经网络,包括人工神经网络的基本概念、研究方向等。之后,介绍了神经网络的基本单元——神经元,并对神经网络结构和学习做了讲解,最后介绍了神经网络工具箱。

第5章 本章介绍了感知器,包括感知器的慨念、学习规则、局限性和工具箱的函数等,还对感知器在MATLAB中的仿真设计做了叙述。

第6章 本章介绍了线性神经网络的应用,包括线性神经网络原理、模型、工具箱函数、基本的设计方法及其设计案例。

第7章 本章主要介绍BP 神经网络原理,包括BP 神经网络的模型、算法、训练和功能等知识,还介绍了BP神经网络的设计方法、工具箱函数及典型工程应用案例。

第8章 本章主要介绍RBF 神经网络模型,包含其工作原理和具体实现,还介绍了RBF神经网络的学习算法、工具箱函数、非线性滤波及RBF在MATLAB中的应用实例。

第9章 本章主要介绍反馈型神经网络,包括反馈型神经网络的基本概念、Hopfield网络模型、Hopfield网络工具箱函数、离散型Hopfield网络和连续型Hopfield网络等,最后还对Elman网络进行了说明。

第10章 本章主要介绍竞争型神经网络,包括自组织型竞争神经网络、自组织特征映射神经网络、自适应共振理论神经网络、学习向量量化神经网络、竞争型神经网络工具箱函数和竞争型神经网络的应用等。

第11章 本章主要介绍神经网络在Simulink中的应用,包括Simulink中的神经网络模块、神经网络模型预测控制系统、反馈线性化控制系统和模型参考控制系统等。

第12章 本章主要介绍神经网络GUI 方面的知识,包括GUI 简介、常规神经网络GUI、神经网络拟合GUI、模式识别GUI和聚类GUI,最后还对GUI的数据操作进行了介绍。

第13章 本章主要介绍自定义神经网络的创建、网络初始化、训练和仿真等内容。因为自定义函数学习难度较大,本章只是简单介绍了自定义函数的种类。

第14章 本章主要介绍随机神经网络的基本思想,模拟退火算法和Boltzmann机算法,并举例用随机神经网络解决实际TSP问题。

第15章 本章主要运用简单的实例介绍了简单的神经网络应用,包括感知器神经网络、线性神经网络、BP神经网络和RBF神经网络的使用。

第16章 本章主要介绍BP 神经网络、PID神经网络控制、遗传算法优化、模糊神经网络和概率神经网络分类预测等5个典型的神经网络应用案例。

注:本书中用到的所有程序代码和数据,请到作者博客下载。

3.读者对象

本书适合于MATLAB神经网络设计初学者和期望提高神经网络工程应用能力的读者,具体说明如下。

★ 相关从业人员   ★ 初学MATLAB神经网络的技术人员

★ 大中专院校的教师和在校生 ★ 相关培训机构的教师和学员

★ 参加工作实习的“菜鸟” ★ 广大科研工作人员

4.本书作者

本书由MATLAB技术联盟刘冰、郭海霞编写,另外孔玲军、李昕、刘成柱、史洁玉、孙国强、代晶、贺碧蛟、石良臣、柯维娜等人为本书的编写提供了大量的帮助,在此一并表示感谢。

虽然作者在本书的编写过程中力求叙述准确、完善,但由于水平有限,书中难免存在错误和欠妥之处,希望读者和同仁能够及时指出,共同促进本书质量的提高。

5.读者服务

读者朋友在学习过程中遇到与本书有关的技术问题,可以发邮件到邮箱book_hai@126.com,或者访问博客 http://blog.sina.com.cn/tecbook,我们会尽快给予解答,并竭诚为您服务。编者2013年秋第1章MATLAB简介

本章主要介绍MATLAB软件的基本用途和方法。MATLAB是目前在国际上被广泛接受和使用的科学与工程计算软件。虽然Cleve Moler教授开发它的初衷是为了更简单、更快捷地解决矩阵运算,但现在的MATLAB已经发展成为一种集数值运算、符号运算、数据可视化、图形界面设计、程序设计、仿真等多种功能于一体的集成软件。

本章将介绍MATLAB的发展、特点、安装、工作环境和MATLAB帮助系统,力图使读者能初步熟悉MATLAB软件的基本知识。

学习目标:

·了解MATLAB 的发展、特点和功能

·了解MATLAB 工具箱的概念和类型

·熟练掌握MATLAB 窗口的用途和使用方法1.1MATLAB的发展

20 世纪 70 年代中后期,曾在密西根大学、斯坦福大学和新墨西哥大学担任数学与计算机科学教授的 Cleve Moler 博士,为讲授矩阵理论和数值分析课程的需要,和同事用Fortran语言编写了两个子程序库EISPACK和LINPACK,这便是构思和开发MATLAB的起点。MATLAB 一词是对Matrix Laboratory(矩阵实验室)的缩写,由此可看出MATLAB与矩阵计算的渊源。

MATLAB除了利用EISPACK和LINPACK两大软件包的子程序外,还包含用Fortran语言编写的用于承担命令翻译的部分。

为进一步推动 MATLAB 的应用,在 20 世纪 80 年代初,John Little 等人将先前的MATLAB 全部用C 语言进行改写,形成了新一代的MATLAB。1984 年,Cleve Moler和John Little等人成立MathWorks公司,并于同年向市场推出了MATLAB的第一个商业版本。

随着市场接受度的提高,其功能也不断增强,在完成数值计算的基础上,新增了数据可视化以及与其他流行软件的接口等功能,并开始了对MATLAB工具箱的研究开发。

1993年,MathWorks公司推出了基于PC的以Windows为操作系统平台的MATLAB 4.0版。

1994年推出的4.2版,扩充了4.0版的功能,尤其在图形界面设计方面提供了新的方法。

1997 年推出的MATLAB 5.0 增加了更多的数据结构,如结构数组、细胞数组、多维数组、对象、类等,使其成为一种更方便的编程语言。

1999 年初推出的MATLAB 5.3 在很多方面又进一步改进了MATLAB 的功能。

2000年10 月底推出的全新的 MATLAB 6.0 正式版(Release 12),在核心数值算法、界面设计、外部接口、应用桌面等诸多方面有了极大的改进。

2002年8 月推出的MATLAB 6.5,其操作界面进一步集成化,并开始运用JIT 加速技术,使运算速度有了明显提高。

2004年7 月,MathWorks公司推出了MATLAB 7.0(Release l4),其中集成了MATLAB 7.0 编译器、Simulink 6.0图形仿真器及很多工具箱,在编程环境、代码效率、数据可视化、文件I/O等方面都进行了升级。

最近的一次版本更新是在2013年3月,Mathworks公司推出了MATLAB R2013a 版。该版本的新特点是引入Fixed-Point Designer,它结合Fixed-Point Toolbox、Simulink Fixed Point、 Phased Array System Toolbox 和 SimRF 的功能,增强了无线和雷达通信系统设计。R2013a还更新了80种其他产品,包括Polyspace嵌入式软件验证产品。

现在的MATLAB已经不再是仅仅解决矩阵与数值计算的软件,更是一种集数值与符号运算、数据可视化图形表示与图形界面设计、程序设计、仿真等多种功能于一体的集成软件。

观察由欧美引进的新版教材,MATLAB已经成为线性代数、数值分析计算、数学建模、信号与系统分析、自动控制、数字信号处理、通信系统仿真等一批课程的基本教学工具。而在国内,随着MATLAB在我国高校的推广和应用,MATLAB已经渐入人心。1.2MATLAB的特点及应用领域

MATLAB有两种基本的数据运算量:数组和矩阵,二者单从形式上不好区分。每一个变量可能被当作数组,也可能被当作矩阵,这要依靠所采用的运算法则或运算函数来定。

在MATLAB中,数组与矩阵的运算法则和运算函数是有区别的。但不论是MATLAB的数组还是MATLAB的矩阵,都已经改变了一般高级语言中使用数组的方式和解决矩阵问题的方法。

在MATLAB中,矩阵运算是把矩阵视为一个整体来进行,基本上与线性代数的处理方法一致。矩阵的加减乘除、乘方开方、指数对数等运算,都有一套专门的运算符或运算函数。

对于数组,不论是算术的运算,还是关系或逻辑的运算,甚至于调用函数的运算,形式上可以当作整体,有一套有别于矩阵的、完整的运算符和运算函数,但实质上却是针对数组的每个元素施行的。

当MATLAB把矩阵(或数组)当作一个独立的运算量来对待后,向下可以兼容向量和标量。不仅如此,矩阵和数组中的元素可以用复数作基本单元,向下可以包含实数集。这些是 MATLAB 区别于其他高级语言的根本特点。以此为基础,还可以概括出如下一些MATLAB的特色。

1.语言简洁,编程效率高

因为MATLAB定义了专门用于矩阵运算的运算符,使得矩阵运算就像列出算式执行标量运算一样简单,而且这些运算符本身就能执行向量和标量的多种运算。

利用这些运算符可使一般高级语言中的循环结构变成一个简单的MATLAB语句,再结合MATLAB丰富的库函数可使程序变得相当简短,几条语句即可代替数十行C语言或Fortran语言程序语句的功能。

2.交互性好,使用方便

使用C语言或Fortran语言的时候,首先需要编写源程序,然后对其进行编译、连接,待形成可执行文件后,方可运行程序得出结果。

而在MATLAB的命令窗口中,输入一条命令,立即就能看到该命令的执行结果,体现了良好的交互性。交互方式减少了编程和调试程序的工作量,给使用者带来了极大的方便。

3.强大的绘图能力,便于数据可视化

MATLAB不仅能绘制多种不同坐标系中的二维曲线,还能绘制三维曲面,体现了强大的绘图能力。正是这种能力为数据的图形化表示(即数据可视化)提供了有力工具,使数据的展示更加形象生动,有利于揭示数据间的内在关系。

4.领域广泛的工具箱,便于众多学科直接使用

MATLAB工具箱(函数库)可分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互的功能。而学科性工具箱是专业性比较强的工具箱,如优化工具箱、统计工具箱、控制工具箱、通信工具箱、图像处理工具箱、小波工具箱等。

5.开放性好,便于扩展

除内部函数外, MATLAB 的其他文件都是公开的、可读可改的源文件,体现了MATLAB的开放性特点。使用者可修改源文件和加入自己的文件,甚至构造自己的工具箱。

6.文件I/O和外部引用程序接口

支持读入更大的文本文件,支持压缩格式的MAT文件,用户可以动态加载、删除或者重载Java类等。正是由于以上几个特点,MATLAB的应用领域十分广阔,典型的应用举例如下。

·数据分析

·数值与符号计算

·工程与科学绘图

·控制系统设计

·航天工业

·生物医学工程

·汽车工业

·语音处理

·图像与数字信号处理

·财务、金融分析

·建模、仿真及样机开发

·新算法研究开发1.3MATLAB R2013a 的安装

MATLAB是一个功能强大的数学工具软件,只有在适当的系统环境中才能正常运行。本节介绍MATLAB R2013a 在PC 的Windows 操作系统中的典型安装方法。

提示:在本书的后面章节中,如果没有特别说明,所有的操作都是在 Windows XP操作系统下的MATLAB R2013a中进行的。

在一般情况下,当使用者将MATLAB R2013a 的安装光盘插入光驱后,会自动启动“安装向导”。如果向导没有自动启动,可以打开安装光盘中的 setup.exe 应用程序,启动安装向导。

在安装过程中出现的所有界面都是标准界面。用户只需要按照界面中的提示进行操作,输入用户名、单位名以及软件产品序列号等。下面介绍MATLAB R2013a 安装过程中的几个主要界面。

首先,使用者需要在安装界面中选择“自定义”选项才能自行选择软件安装的组件和目录等,如图1-1所示。

当选择“自定义”选项后,单击界面中的“下一步”按钮,就会出现MATLAB安装路径选择界面,如图1-2所示。使用者在选择MATLAB软件的安装位置和软件名称的时候,可以使用任意名称,同时也可以将MATLAB软件安装在硬盘中的任何位置。

建议:在安装路径名称中不要使用中文和空格符号,避免与其他软件可能出现的不兼容问题。图1-1 安装类型选项图1-2 MATLAB安装路径选择界面

选择安装路径后继续单击“下一步”按钮,出现图 1-3 所示的产品选择界面,使用者可以在该界面中选择需要安装的组件。图1-3 MATLAB组件选择界面

在MATLAB组件选择界面下面的选框中,用户需要选择MATLAB软件的安装组件。可以直接勾选相应的组件,进行安装。默认情况下,系统会选中所有的组件,但是对于一般用户而言,很多组件的专业性过强,没有安装的必要。

为了帮助用户了解组件的构成,下面给出比较典型的组合方式,见表1-1。表1-1 MATLAB安装组件

当用户选择MATLAB的安装组件后,单击组件选择界面中的“下一步”按钮,就会出现确认安装界面,如图1-4(a)所示。

如果用户单击“安装”按钮,则MATLAB软件进入安装程序,如图1-4(b)所示。图1-4 MATLAB组件的确认及安装1.4MATLAB R2013a的工作环境

在一般情况下,可以使用两种方法来打开 MATLAB R2013a。在上节中,若已将快捷方式添加到桌面上,则可以双击桌面上的快捷方式图标,打开操作界面。

如果用户没有添加MATLAB快捷方式,则需要在MATLAB的安装文件夹里(默认路径为C:\Program Files\MATLAB\R2013a\bin\win32)选择MATLAB.exe 应用程序,同样可以打开MATLAB操作界面。这两种方法的结果完全相同。1.4.1 操作界面简介

MATLAB R2013a 延续了MATLAB R2012b 的操作界面。该操作界面中包含大量的交互式界面。例如通用操作界面、工具包专业界面、帮助界面和演示界面等。这些交互性界面组合在一起,构成MALTAB的默认操作界面。

安装后首次启动MATLAB所得的操作界面如图1-5所示,这是系统默认的、未曾被用户依据自身需要和喜好设置过的界面。

MATLAB的主界面是一个高度集成的工作环境,有4个不同职责分工的窗口。它们分别是 Command Window(命令窗口)、Command History(历史命令窗口)、Current Directory (当前目录窗口)和Workspace(工作空间窗口 )。图1-5 MATLAB默认的主界面

菜单栏和工具栏在组成方式和内容上与一般应用软件基本相同,本章不再赘述。1.4.2 Workspace(命令窗口)

在MATLAB默认主界面的中间是命令窗口。因为MATLAB至今未被汉化,所有窗口名都用英文表示,所以“Command Window”即指命令窗口。

命令窗口顾名思义是接收命令输入的窗口,但实际上,可输入的对象除MATLAB命令之外,还包括函数、表达式、语句以及M文件名或MEX文件名等,为叙述方便,本书后续部分将这些可输入的对象统称为语句。

MATLAB的工作方式之一是在命令窗口中输入语句,然后由MATLAB逐句解释执行并在命令窗口中给出结果。命令窗口可显示除图形以外的所有运算结果。命令窗口可从MATLAB主界面中分离出来,以便单独显示和操作,当然也可重新返回主界面中,其他窗口也有相同的行为。

分离命令窗口可以单击命令窗口右上角的按钮,在出现的下拉菜单中选择Undock选项,另外还可以直接用鼠标将命令窗口拖离主界面,其结果如图 1-6 所示。若将命令窗口返回到主界面中,可单击命令窗口右上角的按钮,在出现的下拉菜单中选择Dock选项。下面分几点对使用命令窗口的一些相关问题加以说明。图1-6 分离的命令窗口

1.命令提示符和语句颜色

在分离的命令窗口中,每行语句前都有一个符号“>>”,此即命令提示符。在此符号后(也只能在此符号后)输入各种语句并按Enter键,方可被MATLAB接收和执行。执行的结果通常直接显示在语句下方。

不同类型语句用不同颜色区分。在默认情况下,输入的命令、函数、表达式以及计算结果等采用黑色字体,字符串采用红色,if、for等关键词采用蓝色,注释语句用绿色。

2.语句的重复调用、编辑和重运行

命令窗口不仅能编辑和运行当前输入的语句,而且对曾经输入的语句也有快捷的方法进行重复调用、编辑和运行。成功实施重复调用的前提是已输入的语句仍然保存在历史命令窗口中(未对该窗口执行清除操作)。而重复调用和编辑的快捷方法就是利用表1-2所列的键盘按键。表1-2 语句行用到的编辑键

其实这些按键与文字处理软件中介绍的同一编辑键在功能上是大体一致的,不同点主要是:在文字处理软件中是针对整个文档使用,而MATLAB命令窗口是以行为单位使用这些编辑键,类似于编辑DOS命令的使用手法。

3.语句行中使用的标点符号

MATLAB 在输入语句时,可能要用到表 1-3 所列的各种符号,这些符号在 MATLAB中所起的作用见表1-3。

提示:在向命令窗口输入语句时,一定要在英文输入状态下输入,尤其在刚刚输完汉字后初学者很容易忽视中英文输入状态的切换。表1-3 MATLAB语句中常用标点符号的作用续表

4.命令窗口中数值的显示格式

为了适应用户以不同格式显示计算结果的需要,MATLAB设计了多种数值显示格式以供用户选用,见表1-4。其中默认的显示格式是:数值为整数时,以整数显示;数值为实数时,以short格式显示;如果数值的有效数字超出了这一范围,则以科学计数法显示结果。表1-4 命令窗口中数据e的显示格式

需要说明的是,表中最后2个是用于控制屏幕显示格式的,而非数值显示格式。MATLAB所有数值均按IEEE浮点标准所规定的长型格式存储,显示的精度并不代表数值实际的存储精度,或者说数值参与运算的精度,认清这点是非常必要的。

5.数值显示格式的设定方法

格式设定的方法有两种:一是执行MATLAB工作栏中Preferences命令,用弹出的对话框去设定;二是执行 format 命令,例如要用 long 格式,在命令窗口中输入 format long语句即可。两种方法均可独立完成设定,但使用命令可方便在程序设计时进行格式设定。

不仅数值显示格式可由用户自行设置,数字和文字的字体显示风格、大小、颜色也可由用户自行挑选。其方法还是执行Preferences命令,弹出图1-7所示对话框。利用该对话框左侧的格式对象树,从中选择要设定的对象再配合相应的选项,便可对所选对象的风格、大小、颜色等进行设定。图1-7 Preferences设置对话框

6.命令窗口清屏

当命令窗口中执行过许多命令后,窗口会被占满,为方便阅读,清除屏幕显示是经常采用的操作。清除命令窗口显示通常有两种方法。(1)执行MATLAB 工具栏的Clear Command→Command Window命令。(2)在提示符后直接输入clc语句。

两种方法都能清除命令窗口中的显示内容,也仅仅是命令窗口的显示内容而已,并不能清除工作空间和历史命令窗口的显示内容。1.4.3 Command History(历史命令窗口)

Command History(历史命令窗口)是MATLAB用来存放曾在命令窗口中使用过的语句的。它借用计算机的存储器来保存信息。其主要目的是为了便于用户追溯、查找曾经用过的语句,利用这些既有的资源节省编程时间。

单击历史命令窗口右上角的按钮,在出现的下拉菜单中选择Undock选项,可以将其从MATLAB主界面分离出来。另外还可以直接用鼠标将历史命令窗口拖离主界面,其结果如图 1-8 所示。从窗口中记录的时间来看,其中存放的正是曾经使用过的语句。图1-8 分离的历史命令窗口

对历史命令窗口中的内容,可在选中的前提下,将它们复制到当前正在工作的命令窗口中,以供进一步修改或直接运行。其优势在如下两种情况下体现得尤为明显:一是需要重复处理长语句;二是在选择多行曾经用过的语句形成M文件时。

提示:如果只需要执行历史命令窗口中的单条语句,那么双击历史命令窗口中的该条语句即可。

1.复制、执行历史命令窗口中的命令

历史命令窗口的主要应用体现在表1-5中。表中操作方法一栏中提到的“选中”操作,与Windows选中文件时方法相同,同样可以结合Ctrl键和Shift键使用。表1-5 历史命令窗口的主要应用

用历史命令窗口完成所选语句的复制操作的步骤如下。(1)用鼠标选中所需第一行。(2)再按Shift键和鼠标选择所需最后一行,于是连续多行即被选中。(3)单击工具栏上图标,或在选中区域单击鼠标右键,执行快捷菜单的Copy命令。(4)回到命令窗口,在该窗口用快捷菜单中的Paste命令,所选内容即被复制到命令窗口。其操作如图1-9所示。图1-9 历史命令窗口选中与复制操作

用历史命令窗口完成所选语句的运行操作的步骤如下。(1)用鼠标选中所需第一行。(2)再按Ctrl键结合鼠标点选所需的行,于是不连续多行即被选中。(3)在选中的区域右击弹出快捷菜单,选用Evaluate Selection 命令,计算结果就会出现在命令窗口中。

2.清除历史命令窗口中的内容。

清除历史命令窗口内容的方法就是执行 MATLAB 工具栏中的 Clear Command→Command History命令。

提示:当执行上述命令后,历史命令窗口当前的内容就被完全清除了,以前的命令再不能被追溯和利用。1.4.4 输入变量

在MATLAB的计算和编程过程中,变量和表达式都是最基础的元素。如果用户需要深入学习MATLAB,十分有必要了解MATLAB关于定义变量和表达式的基本规定。

在MATLAB中,为变量定义名称需要满足下列规则。(1)变量名称和函数名称有大小写区别。对于变量名称Mu和mu,MATLAB会认为是不同的变量。exp是MATLAB内置的指数函数名称。因此,如果用户输入exp(0),系统会得出结果 1;而如果用户输入 EXP(0),MATLAB 会显示错误的提示信息“Undefined function 'EXP' for input arguments of type 'double'.”,表明MATLAB无法识别EXP的函数名称,同时系统会提示是否需要输入exp(0),如图1-10所示。图1-10 函数名称区别大小写(2)变量名称的第一个字符必须是英文字符。在MATLAB 6.5 以后的版本中,变量名称最多可以包含63个字符。因此,变量5xf、_mat等都是不合法的变量名称。(3)变量名称中不可以包含空格或者标点符号。但是可以包括下划线。因此,变量名称xf_mat是合法的。

尽管MATLAB对于变量名称的限制较少,但还是建议用户在设置变量名称时考虑变量的含义。例如在M文件中,变量名称Outputname比名称a更好理解。

在上面的变量名称规则中,没有限制用户使用MATLAB的预定义变量名称,但是根据笔者的经验,还是建议用户不要使用MATLAB预先定义的变量名称。因为,用户每次启动MATLAB,系统就会自动产生这些变量,表1-6中列出了常见的预定义变量名称。表1-6 MATLAB中的预定义变量1.4.5 路径管理

MATLAB 借鉴 Windows 资源管理器管理磁盘、文件夹和文件的思想,设计了当前文件夹窗口。利用该窗口可组织、管理和使用所有MATLAB文件和非MATLAB文件,例如新建、复制、删除和重命名文件夹和文件。甚至还可用此窗口打开、编辑和运行M程序文件以及载入MAT数据文件等。当然,其核心功能还是设置当前文件夹。

Current Folder(当前文件夹窗口)如图1-11 所示。下面主要介绍当前文件夹的概念及如何完成对当前文件夹的设置,并不准备在此讨论程序文件的运行。图1-11 分离的当前文件夹窗口

MATLAB的当前文件夹即是系统默认的实施打开、装载、编辑和保存文件等操作时的文件夹。用桌面图标启动MATLAB后,系统默认的当前目录是 …\MATLAB\work。

设置当前文件夹就是将此默认文件夹改变成用户希望使用的文件夹,它应是用户提前建立好的用来存放文件和数据的文件夹。

具体的设置方法有如下两种。(1)在当前目录设置区设置。MATLAB主界面工具栏的右边以及分离的当前目录设置窗口都有当前目录设置区,可以在设置区的下拉列表文本框中直接填写待设置的文件夹名或选择下拉列表中已有的文件夹名。如果需要分离当前文件夹窗口,单击当前文件夹窗口右上角的按钮,在出现的下拉菜单中选择Undock选项即可。(2)用命令设置。有一组从DOS中借用的文件夹命令可以完成这一任务,它们的语法格式见表1-7。表1-7 几个常用的设置当前文件夹的命令

用命令设置当前文件夹,为在程序中控制当前目录的改变提供了方便,因为编写完成的程序通常用M文件存放,执行这些文件时是不便先退出再用窗口菜单或对话框去改变当前目录设置的。1.4.6 搜索路径

MATLAB中大量的函数和工具箱文件是组织在硬盘的不同文件夹中的。用户建立的数据文件、命令和函数文件也是由用户存放在指定的文件夹中。当需要调用这些函数或文件时,找到这些函数或文件所存放的文件夹就成为首要问题,路径的概念也就因此而产生了。

路径其实就是给出存放某个待查函数和文件的文件夹名称。当然,这个文件夹名称应包括盘符和一级级嵌套的子文件夹名。

例如,现有一文件t04_06.m存放在D盘“MATLAB文件”文件夹下的“M文件”子文件夹下的“第 4 章”子文件夹中,那么,描述它的路径是:D:\MATLAB 文件\M 文件\第4章。若要调用这个M文件,可在命令窗口或程序中将其表达为:D:\MATLAB文件\M文件\第4章\t04_06.m。

在使用时,这种书写因为过长,很不方便,MATLAB为解决这一问题,引入了搜索路径机制。设置搜索路径机制就是将一些可能要被用到的函数或文件的存放路径提前通知系统,而无须在执行和调用这些函数和文件时输入一长串的路径。

提示:必须指出,不是说有了搜索路径,MATLAB对程序中出现的符号就只能从搜索路径中去查找。在 MATLAB 中,一个符号出现在程序语句里或命令窗口的语句中可能有多种解读,它也许是一个变量、特殊常量、函数名、M文件或MEX文件等,具体将其识别成什么,涉及搜索顺序的问题。

如果在命令提示符“>>”后输入符号xt,或程序语句中有一个符号xt,那么,MATLAB将试图按下列次序去搜索和识别。(1)在MATLAB内存中进行检查搜索,看xt是否为工作空间窗口的变量或特殊常量,如果是,则将其当成变量或特殊常量来处理,不再往下展开搜索识别。(2)上一步否定后,检查xt是否为MATLAB的内部函数,若肯定,则调用xt这个内部函数。(3)上一步否定后,继续在当前文件夹中搜索是否有名为“xt.m”或“xt.mex”的文件存在,若肯定,则将xt作为文件调用。(4)上一步否定后,继续在MATLAB搜索路径的所有目录中搜索是否有名为“xt.m”或“xt.mex”的文件存在,若肯定,则将xt作为文件调用。(5)上述4步全走完后,仍未发现xt这一符号的出处,则MATLAB发出错误信息。必须指出的是,这种搜索是以花费更多执行时间为代价的。

MATLAB设置搜索路径的方法有两种:一种是用菜单和对话框;另一种是用命令。现将两方案分述如下。

1.用菜单和对话框设置搜索路径

在MATLAB主界面的File 菜单中有Set Path 命令,执行这一命令将打开设置搜索路径的对话框,如图1-12所示。

对话框左边设计了多个按钮,其中最上面的两个按钮分别是Add Folder…和 Add with Subfolders…,单击任何一个按钮都会弹出一个名为浏览文件夹的对话框,如图1-13所示。利用浏览文件夹对话框可以从树形目录结构中选择欲指定为搜索路径的文件夹。图1-12 设置搜索路径对话框图1-13 浏览文件夹对话框

Add Folder…和Add with Subfolders…两个按钮的不同处在于后者设置某个文件夹成为可搜索的路径后,其下级子文件夹将自动被加入到搜索路径中。

设置搜索路径对话框下面有两个按钮Save和Close,在使用时值得注意。Save按钮是用来保存对当前搜索路径所做修改的,通常先执行Save命令后,再执行Close。Close按钮是用来关闭对话框的,但是如果只想将修改过的路径为本次打开 MATLAB 使用,无意供MATLAB永久搜索,那么直接单击Close按钮,再在弹出的对话框中作否定回答即可。

2.用命令设置搜索路径

MATLAB能够将某一路径设置成可搜索路径的命令有两个:一个是 path;另一个是addpath。

针用path和addpath命令设置搜索路径的区别,下面举例说明。

>>path(path,'c:/tools/goodstuff')  %将路径放在路径表的前面

>>addpath('c:/matlab/myfiles','-end') %将路径放在路径表的后面1.4.7 Workspace(工作空间)

在默认的情况下,工作空间浏览器位于MATLAB操作界面的右上方。单击Workspace窗口右上角的按钮,在出现的下拉菜单中选择Undock选项,可以将其从MATLAB主界面分离出来。另外还可以直接用鼠标将 Workspace 窗口拖离主界面,其结果如图 1-14所示。图1-14 Workspace窗口

当选中Workspace窗口中一个变量时,MATLAB界面菜单栏中的PLOTS选项就会激活,激活前后对比界面如图1-15所示。在图1-15(b)中,MATLAB强大的绘图功能有多种绘图方法供用户选择。

除了非常强大的绘图功能,Workspace 窗口还有许多其他应用功能,例如内存变量的查阅、保存和编辑等。所有这些操作都比较简单,只需要在 Workspace 窗口中选择相应的变量,然后右击鼠标,在弹出的快捷菜单中选择相应的菜单选项,如图1-16所示。图1-15 PLOTS选项激活前后对比图

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载