MATLAB权威指南(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-02 17:45:28

点击下载

作者:杨晓华

出版社:机械工业出版社

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

MATLAB权威指南

MATLAB权威指南试读:

前言

为什么要写本书

MATLAB一词由MATrix和LABoratory两个词的前三个字母组合而成。20世纪70年代后期,时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口——用FORTRAN编写的萌芽状态的MATLAB。

MATLAB以商品形式出现后的几年内,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包纷纷淘汰,而改在MATLAB平台上重建。在国际上30多个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头。

目前,MATLAB已成为信号处理、通信原理、自动控制等专业的重要基础课程的首选实验平台。对于学生而言,最有效的学习途径是结合某一专业课程的学习掌握该软件的使用与编程。

本书特点

由浅入深,循序渐进:本书以初中级读者为对象,首先从MATLAB的使用基础讲起,再辅以MATLAB在工程中的应用案例帮助读者尽快掌握用MATLAB进行有限元分析的技能。

结合实际,内容新颖:本书结合作者多年的MATLAB使用经验与实际工程应用案例,针对MATLAB软件的使用方法与技巧进行详细的讲解。本书在讲解过程中辅以相应的图片,使读者在阅读时一目了然,从而快速掌握书中所讲内容。

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

本书内容

本书基于MATLAB 7.14版,讲解了MATLAB的基础知识和核心内容。本书主要分为两部分:基础知识部分和工具箱部分,其中基础知识包括第1~14章,工具箱部分包括第15~18章。

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

第2章主要介绍了MATLAB语言基础,包括基本概念、向量运算、矩阵运算和字符串运算等,对MATLAB中数组的概念和使用做了简单说明。

第3章主要介绍了MATLAB数组,包括一维和多维数组,并对数组属性、特殊数组、一维数组操作和多维数组操作等进行了举例分析。

第4章主要介绍了数值计算,从矩阵分析、线性代数的数值计算开始介绍,然后介绍函数的零点、数值积分、概率论数理统计等。

第5章主要介绍了数据分析,包括曲线拟合、傅里叶分析和微分方程等。MATLAB中还有数据集合的插值、曲线拟合的命令和函数。

第6章主要介绍了符号运算的知识,包括符号运算的基本概念、微积分运算、符号方程求解和符号函数图形计算器等。

第7章主要介绍了关系运算与逻辑运算,包括逻辑类型的数据、关系运算、逻辑运算、逻辑函数与测试函数以及运算优先级等知识,特别强调了其中容易出错的地方。

第8章主要介绍了MATLAB函数及MATLAB编程的知识,包括M文件、MATLAB的变量、函数类型和参数传递。

第9章主要介绍了MATLAB程序设计,包括MATLAB的四大类程序流程控制语句:分支控制语句、循环控制语句、错误控制语句和程序终止程序。

第10章主要介绍了MATLAB数据图形可视化设计,包括图形窗口简介、二维图形和三维图形绘制、图像、函数绘图、图形对象及其属性设置。

第11章主要介绍了图形的打印和导出,包括图形打印和导出的概述及操作。

第12章主要介绍了句柄图形对象,首先介绍句柄图形对象概述,接着介绍句柄函数,最后介绍句柄图形对象的各种操作。

第13章主要介绍了GUI设计,包括界面概述、对象创建、定制标准菜单、编写回调函数、创建现场菜单、创建GUI对象的用户控件等。

第14章主要介绍了Simulink仿真系统设计,包括Simulink基础知识、模型创建、系统仿真原理和高级积分器。

第15章主要介绍了信号处理工具箱,包括信号的产生、随机信号的处理、模拟滤波器的设计、IIR数字滤波器设计。

第16章主要介绍了神经网络工具箱,包括神经网络工具箱简介、感知器、BP神经网络、径向基网络和自组织竞争神经网络。

第17章主要介绍了小波分析工具箱,包括傅里叶变换到小波分析、Mallat算法及小波GUI简介。

第18章主要介绍了图像处理工具箱,包括工具箱所支持的图像类型、显示图像和图像的灰度变换。

读者对象

本书适合MATLAB初学者,以及期望提高矩阵运算及建模仿真工程应用能力的读者,具体包括:

MATLAB软件开发人员

大、中专院校的教师和在校生

参加工作实习的“菜鸟”

广大科研工作人员

初学MATLAB的技术人员

相关培训机构的教师和学员

MATLAB爱好者

初、中级MATLAB从业人员

读者服务

为了给读者提供更好的服务,特提供作者邮箱:caxbook@126.com和博客地址http://blog.sina.com.cn/caxbook。读者在学习过程中遇到任何问题,都可以发邮件到该邮箱,我们会尽快给予解答,竭诚为您服务。

本书作者

本书主要由杨晓华、孔令泉编著,王志刚、程伟、王磊、张巧玲、苏杰、王胜利、徐海锋、赵倩倩、许海涛、王洋、刘蕊、李巍、张卫东、张磊、李波、白海波、李昕、张文电等也为本书的编写提供了大量的帮助。虽然我们在本书的编写过程中力求叙述准确、完善,但由于水平有限,书中欠妥之处在所难免,请广大读者朋友及各位同行进行批评指正,共同促进本书质量的提高。

感谢您购买本书,希望本书能成为您应用MATLAB进行科学研究道路上的启蒙者。

编者第1章MATLAB简介

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

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

学习目标:

■了解MATLAB的发展史、特点和功能;

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

■熟练掌握MATLAB的工作环境;

■熟练掌握MATLAB的帮助交流。1.1 MATLAB的发展史

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年推出的MATLAB 4.2,扩充了MATLAB 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等方面都进行了全面的升级。

最近的一次版本更新是在2012年3月,MathWorks公司推出了MATLAB 7.14,包括MATLAB&reg、Simulink&reg和Polyspace&reg产品的新功能,以及对77种其他产品的更新和补丁修复。

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

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

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

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

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

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

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

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

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

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

因为不用像使用C语言和FORTRAN语言那样,首先编写源程序,然后对其进行编译、连接,待形成可执行文件后,方可运行程序得出结果。(3)强大的绘图能力,便于数据可视化

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

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

除内部函数外,MATLAB的其他文件都是公开的、可读可改的源文件,体现了MATLAB的开放性特点。用户可修改源文件和加入自己的文件,甚至构造自己的工具箱。(6)文件I/O和外部引用程序接口

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

■数据分析;

■数值与符号计算;

■工程与科学绘图;

■控制系统设计;

■航天工业;

■生物医学工程;

■汽车工业;

■语音处理;

■图像与数字信号处理;

■财务、金融分析;

■建模、仿真及样机开发;

■新算法研究开发。1.3 MATLAB 2012a的安装

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

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

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

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

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

2)当用户选择“自定义”单选按钮后,单击界面中的“下一步”按钮,就会出现MATLAB安装选项的界面。用户可以在该界面中选择需要安装的组件,如图1-2所示。图 1-2 MATLAB组件选择界面

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

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

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

如果用户选择安装,则MATLAB软件开始安装,如图1-3b所示。图 1-3 MATLAB确认安装设置界面及安装界面1.4 MATLAB 2012a的工作环境

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

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

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

在默认情况下,MATLAB的操作界面包含命令窗口和工作区历史命令窗口3个最常见的界面,同时,在窗口左下角为“开始”菜单。

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

MATLAB的主界面是一个高度集成的工作环境,有4个不同职责分工的窗口。它们分别是(Command Window)命令窗口、(Command History)历史命令窗口、(Current Directory)当前目录窗口和(Workspace)工作区。除此之外,MATLAB 6.5之后的版本还添加了“开始”(Start)菜单。

菜单栏和工具栏在组成方式和内容上与一般应用软件基本相同或相似,本章不准备给出详细说明,待后面用到时读者自会明了。下面重点介绍MATLAB的4个窗口。1.4.2 Command Window

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

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

MATLAB的工作方式之一是:在Command Window中输入语句,然后由MATLAB逐句解释执行并在Command Window中给出结果。命令窗口可显示除图形以外的所有运算结果。

Command Window可从MATLAB主界面中分离出来,以便单独显示和操作,当然也可重新返回主界面中,其他窗口也有相同的行为。

分离Command Window可执行Desktop菜单中的Undock Command Window命令,也可单击窗口右上角的按钮。另外,还可以直接用鼠标将命令窗口拖出主界面,其结果如图1-5所示。图 1-5 分离的Command Window

若要将命令窗口放回到主界面中,可单击窗口右上角的按钮,或执行Desktop菜单中的Dock Command Window命令。下面对使用Command Window的一些相关问题加以说明。(1)命令提示符和语句颜色

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

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

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

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

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

提示:在向命令窗口输入语句时,一定要在英文输入状态下输入,尤其在刚刚输入完汉字后,初学者很容易忽视中英文输入状态的切换。(4)命令窗口中数值的显示格式

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

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

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

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

当在命令窗口中执行过许多命令后,会占满窗口,为方便阅读,清除屏幕显示是经常采用的操作。清除命令窗口显示通常有两种方法:

■执行MATLAB窗口的Edit|Clear Command Window命令;

■在提示符后直接输入clc语句。

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

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

单击Command History窗口右上角的按钮,便可将其从MATLAB主界面分离出来,如图1-7所示。从窗口中记录的时间来看,其中存放的正是曾经使用过的语句。图 1-7 分离的Command History窗口

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

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

用Command History窗口完成所选语句的复制操作如下。

1)用鼠标选中所需第一行;

2)按Shift键和鼠标选择所需最后一行,于是连续的多行即选中;

3)执行Edit|Copy菜单命令,或在选中区域右击,执行快捷菜单的Copy命令;

4)回到命令窗口,在该窗口用快捷菜单中的Paste命令,所选内容即复制到命令窗口。其操作如图1-8所示。图 1-8 Command History窗口选中与复制操作

用Command History窗口完成所选语句的运行操作如下。

1)用鼠标选中所需第一行;

2)按Ctrl键并结合鼠标单击所需的行,于是不连续的行即选中;

3)在选中的区域右击弹出快捷菜单,选用Evaluate Selection命令,计算结果就会出现在命令窗口中。(2)清除Command History窗口中的内容

清除历史命令窗口内容的方法就是执行Edit菜单中的Clear Command History命令。

提示:当执行上述命令后,Command History窗口当前的内容就完全清除了,以前的命令再也不能追溯和利用。这一点必须清楚。1.4.4 输入变量

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

在MATLAB中,为变量定义名称需要满足下列规则。

■变量名称和函数名称区分大小写。对于变量名称Mu和mu,MATLAB会认为是不同的变量。exp是MATLAB内置的指数函数名称。因此,如果用户输入exp(0),系统会得出结果1;而如果用户输入EXP(0),MATLAB会显示错误的提示信息"Undefined function 'EXP' for input arguments of type 'double'.",表明MATLAB无法识别EXP的函数名称,如图1-9所示。图 1-9 函数名称区分大小写

■变量名称的第一个字符必须是英文字符。因此,变量_Sxf、1maf等都是不合法的变量名称。在MATLAB 6.5以后的版本中,变量名称最多可以包含63个字符。

■变量名称不可以包含空格或者标点符号,但是可以包括下划线。因此,变量名称xf_mat是合法的。

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

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

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

分离的Current Folder窗口如图1-10所示。下面主要介绍当前目录的概念及如何完成对当前目录的设置。图 1-10 分离的Current Folder窗口

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

设置当前目录就是将此默认文件夹改变成用户希望使用的文件夹。

具体的设置方法有两种:

1)在当前目录设置区设置。MATLAB主界面工具栏的右边以及分离的当前目录窗口都有当前目录设置区,可以在设置区的下拉列表文本框中直接填写待设置的文件夹名或选择下拉列表中已有的文件夹名;或单击按钮,从弹出的Current Folder对话框的目录树中选取欲设为当前目录的文件夹即可。欲弹出分离的当前目录窗口,执行MATLAB窗口的Desktop|Current Directory菜单命令即可。

2)用命令设置。有一组从DOS中借用的目录命令可以完成这一任务,它们的语法格式如表1-7所示。

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

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

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

例如,假设有一文件t04_01.m存放在D盘“MATLAB文件”文件夹下的“M文件”子文件夹下的“第4章”子文件夹中,那么描述它的路径是:D:\MATLAB文件\M文件\第4章。若要调用这个M文件,可在命令窗口或程序中将其表达为:D:\MATLAB文件\M文件\第4章\t04_01.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命令,执行这一命令将打开Set Path对话框,如图1-11所示。图 1-11 Set Path对话框

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

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

从Set Path对话框中可看出将路径“F:\MATLAB文件\M文件”下的所有子文件夹都设置成可搜索路径的效果和过程。

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

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

下面以将路径“F:\MATLAB文件\M文件”设置成可搜索路径为例,分别予以说明。

用path和addpath命令设置搜索路径。1.4.7 工作区和变量编辑器

在默认情况下,工作区位于MATLAB操作界面的左上侧的后台。单击Workspace选项卡,可以使工作区在MATLAB的前台显示。然后单击工作区右上方的按钮,可以查看工作区的详细外观,如图1-13所示。图 1-13 工作区

和其他MATLAB组件的界面相比,工作区界面的菜单栏中多了一个Graphics选项。当用户选中其中某个变量时,用户可以选择该菜单项中的子选项,很方便地绘制相应的各种图形,如图1-14a所示;用户也可以在选中某个变量后,单击菜单项下方的"plot",会出现绘制各种图形的下拉菜单供用户选择,如图1-14b所示。图 1-14 图形选项菜单

除了非常强大的绘图功能外,工作区还有许多其他应用功能,如内存变量的查阅、保存和编辑等。所有这些操作都比较简单,只需要在工作区中选择相应的变量,然后右击,在弹出的快捷菜单中选择相应的菜单选项,如图1-15所示。图 1-15 修改变量名称

在MATLAB中,数组和矩阵都是十分重要的基础变量,因此

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载