16. 工AB基础及其应用教程 对话框左边设计了多个按钮,其中最上面的两个按钮分别是:Add Folder.和Add with Subfolders.,单击任何一个按钮都会弹出一个名为浏览文件夹的对话框,如图1.10所示。 利用“浏览文件夹”对话框可以从树形日录结构中选择欲指定为搜索路径的文件夹。 对无文件共 文件夫:应件 新文件天■定☐聚有☐ 图1,10浏览文件夹对话框 Add Folder.和Add with Subfolders.两个按钮的不同处在于后者设置某个文件夹成为 可搜索的路径后,其下级子文件夹将自动被加入到搜索路径中 从图1.9和图1.10中可看出将路径“F\MATLAB文件M文件”下的所有子文件夹都 设置成可搜索路径的效果和过程。 图1.9所示对话框下面有两个按钮Save和Close在使用时值得注意。Save按钮是用来 保存对当前搜索路径所做修改的,通常先执行S 命令后,再执行C10s _c 按钮是用 来关闭对话框的,但是如果只想将修改过的路径为本次打开MATLAB使用 无意供 MATLAB永久搜案,那么直接单击Clos心按钮,再在弹出的对话框中作否定回答即可。 2.用命令设置搜索路径 MATLAB能够将某一路径设置成可搜索路径的命令有两个: 个是path:另一个是 addpath。下面以将路径“F\MATLAB文件M文件”设置成可搜索路径为例,分别予以 说明。 用path和addpath命令设置搜索路径。path2 re rmpath >path(path,'F:\MATLAB文件\M文件): 1.8 MATLAB窗口操作命令 在本章前述的讨论中曾多次指出,针对MATLAB各窗口在应用中所需的多种设置 可用菜单、对话框去解决,也可用命令去设置,这是MATLAB提供的两套并行的解决方 16
·16· MATLAB 基础及其应用教程 ·16· 对话框左边设计了多个按钮,其中最上面的两个按钮分别是:Add Folder…和 Add with Subfolders…,单击任何一个按钮都会弹出一个名为浏览文件夹的对话框,如图 1.10 所示。 利用“浏览文件夹”对话框可以从树形目录结构中选择欲指定为搜索路径的文件夹。 图 1.10 浏览文件夹对话框 Add Folder…和 Add with Subfolders…两个按钮的不同处在于后者设置某个文件夹成为 可搜索的路径后,其下级子文件夹将自动被加入到搜索路径中。 从图 1.9 和图 1.10 中可看出将路径“F:\ MATLAB 文件\M 文件”下的所有子文件夹都 设置成可搜索路径的效果和过程。 图 1.9 所示对话框下面有两个按钮 Save 和 Close 在使用时值得注意。Save 按钮是用来 保存对当前搜索路径所做修改的,通常先执行 Save 命令后,再执行 Close。Close 按钮是用 来关闭对话框的,但是如果只想将修改过的路径为本次打开 MATLAB 使用,无意供 MATLAB 永久搜索,那么直接单击 Close 按钮,再在弹出的对话框中作否定回答即可。 2. 用命令设置搜索路径 MATLAB 能够将某一路径设置成可搜索路径的命令有两个:一个是 path;另一个是 addpath。下面以将路径“F:\ MATLAB 文件\M 文件”设置成可搜索路径为例,分别予以 说明。 用 path 和 addpath 命令设置搜索路径。 path2rc rmpath >>path(path,’F:\ MATLAB 文件\M 文件’); >>addpath F:\ MATLAB 文件\M 文件 –begin %begin 意为将路径放在路径表的前面 >>addpath F:\ MATLAB 文件\M 文件 –end %end 意为将路径放在路径表的最后 1.8 MATLAB 窗口操作命令 在本章前述的讨论中曾多次指出,针对 MATLAB 各窗口在应用中所需的多种设置, 可用菜单、对话框去解决,也可用命令去设置,这是 MATLAB 提供的两套并行的解决方
第1章MATLAB简介 。17。 案,目的在于适应不同的应用需求。当用户处在命令窗口中与系统采用交互的行编辑方式 执行命令时,用菜单和对话框是方便的,但当用户需要编写一个程序,而将所需的设置动 作体现在程序中时,只能采用命令去设置,因为编好的程序不方便在执行中途退出后去完 成打开菜单和对话框的操作,然后又回去接着执行后续的程序。因此用命令去完成 MAT口AB的多种设置操作就不是可右可无的了 MATLAB针对窗口的操作命令在前面其实已多处提及,例如 清除命令窗口的命令 clc,清除工作空间窗口的命令clear,设置当前目录的命令cd,等等。限于篇幅,本节仅将 与MATLAB基本操作有关的命令以列表形式给出,不做详细讲解。这些命令被分成4组, 分别列在表1-7至表1-10中。 表1-7工作空间管理命令 示 例 说明 save Ixol save 或save lx02AB 将工作空间中的变量以数据文件格式保存在外存中 load load x 从外存中将某数据文件调入内存 who who 查询当前工作空间中的变量名 whos whos 查询当前工作空间中的变量名、大小、类型和字节数 clear clear A 删除工作空问中的全部或部分变量 表1-8与命令窗口相关的操作命令 命令示例 说明 format bank 对命令窗口显示内容的格式进行设定,与表1-3所列格式结合使用 rmat compac 用米控制是否显示正在执行的MATLAB语句,n表示肯定,o表示 echo echo on.echo off 否定 mor more(10) 规定命令窗口中每个页面的显示行数 洁除命今窗口的显示内容 clf 清除图形窗口中的图形内容 cla cla 清除当前坐标内容 close close all 关闭当前图形窗口,加参数a山则关闭所有图形窗口 表1-9目录文件管理命令 命令示例 说明 pwd pwd 显示当前目录的名称 cd d:xt_mat04 把d命令后所跟的目录变成当前目录 17
第 1 章 MATLAB 简介 ·17· ·17· 案,目的在于适应不同的应用需求。当用户处在命令窗口中与系统采用交互的行编辑方式 执行命令时,用菜单和对话框是方便的,但当用户需要编写一个程序,而将所需的设置动 作体现在程序中时,只能采用命令去设置,因为编好的程序不方便在执行中途退出后去完 成打开菜单和对话框的操作,然后又回去接着执行后续的程序。因此用命令去完成 MATLAB 的多种设置操作就不是可有可无的了。 MATLAB 针对窗口的操作命令在前面其实已多处提及,例如,清除命令窗口的命令 clc,清除工作空间窗口的命令 clear,设置当前目录的命令 cd,等等。限于篇幅,本节仅将 与 MATLAB 基本操作有关的命令以列表形式给出,不做详细讲解。这些命令被分成 4 组, 分别列在表 1-7 至表 1-10 中。 表 1-7 工作空间管理命令 命 令 示 例 说 明 save save lx01 或 save lx02 A B 将工作空间中的变量以数据文件格式保存在外存中 load load lx01 从外存中将某数据文件调入内存 who who 查询当前工作空间中的变量名 whos whos 查询当前工作空间中的变量名、大小、类型和字节数 clear clear A 删除工作空间中的全部或部分变量 表 1-8 与命令窗口相关的操作命令 命 令 示 例 说 明 format format bank format compact 对命令窗口显示内容的格式进行设定,与表 1-3 所列格式结合使用 echo echo on,echo off 用来控制是否显示正在执行的 MATLAB 语句,on 表示肯定,off 表示 否定 more more(10) 规定命令窗口中每个页面的显示行数 clc clc 清除命令窗口的显示内容 clf clf 清除图形窗口中的图形内容 cla cla 清除当前坐标内容 close close all 关闭当前图形窗口,加参数 all 则关闭所有图形窗口 表 1-9 目录文件管理命令 命 令 示 例 说 明 pwd pwd 显示当前目录的名称 cd cd d:\xt_mat\04 把 cd 命令后所跟的目录变成当前目录
,18 T工,AB基础及其应用教程 续表 命令示 例 说明 mkdir mkdir xt mat 在当前文件夹下建立一子文件夹 dir 显示当前或指定目录下的文件或子目录清单 what what 显示当前目录下M、MAT、MEX这3类文件清单 which which inv.m 寻求某个文件所在的文件夹 type type xt06.m 显示某个文件的内容或注释 delete delete xto1.m 别除文件和图形对象 表1-10帮助命令 命令示 说明 help help mkdir 提供MATLAB俞令,函数和M文件的使用和帮助信息 根据用户提供的关键字去查找相关函数的信息,常用来查找具有某种功 lookfor lookforZ 能面不知道准确名字的命令 helpwin helpwin graphics打开帮助窗口是示指定的主题信息 1.9小 结 MATLAB是一个功能多样的、高度集成的、适合科学和工程计算的软件,但同时它又 是一种高级程序设计语言。 MATLAB的主界面集成了命令窗口、历史命令窗口、当前目录窗口、工作空间窗口和 帮助窗口等5个窗口。它们既可单独使用,又可相互配合,为用户提供了十分灵活方便的 操作环境。 对MATLAB各窗口的某项设置操作通常都有两条途径: 一条是用MATLAB相关窗 的对话框或莱单(包括快捷菜单):另一条是在命令窗口执行某一命令。前者的优点是方便 用户与MATLAB的交互,而后者主要是考虑到程序设计的需要和方使。 1.10习题 1.单项选择题 )可以用命令或是菜单清除命令窗口中的内容。若用命令,则这个命令是()。 B.cle C.clf 合动AAB程结果不见工作经州乳.武是问能的原因 A.程序出了问题 B.桌面莱单中“workspace”莱单项未选中 C.其他窗口打开太多 D.其他窗口未打开 18
·18· MATLAB 基础及其应用教程 ·18· 续表 命 令 示 例 说 明 mkdir mkdir xt_mat 在当前文件夹下建立一子文件夹 dir dir 显示当前或指定目录下的文件或子目录清单 what what 显示当前目录下 M、MAT、MEX 这 3 类文件清单 which which inv.m 寻求某个文件所在的文件夹 type type xt06.m 显示某个文件的内容或注释 delete delete xt01.m 删除文件和图形对象 表 1-10 帮助命令 命 令 示 例 说 明 help help mkdir 提供 MATLAB 命令、函数和 M 文件的使用和帮助信息 lookfor lookfor Z 根据用户提供的关键字去查找相关函数的信息,常用来查找具有某种功 能而不知道准确名字的命令 helpwin helpwin graphics 打开帮助窗口显示指定的主题信息 1.9 小 结 MATLAB 是一个功能多样的、高度集成的、适合科学和工程计算的软件,但同时它又 是一种高级程序设计语言。 MATLAB 的主界面集成了命令窗口、历史命令窗口、当前目录窗口、工作空间窗口和 帮助窗口等 5 个窗口。它们既可单独使用,又可相互配合,为用户提供了十分灵活方便的 操作环境。 对 MATLAB 各窗口的某项设置操作通常都有两条途径:一条是用 MATLAB 相关窗口 的对话框或菜单(包括快捷菜单);另一条是在命令窗口执行某一命令。前者的优点是方便 用户与 MATLAB 的交互,而后者主要是考虑到程序设计的需要和方便。 1.10 习 题 1. 单项选择题 (1) 可以用命令或是菜单清除命令窗口中的内容。若用命令,则这个命令是( )。 A. clear B. clc C. clf D. cls (2) 启动 MATLAB 程序后,结果不见工作空间窗口出现,其最有可能的原因是( )。 A. 程序出了问题 B. 桌面菜单中“workspace”菜单项未选中 C. 其他窗口打开太多 D. 其他窗口未打开
第1章MLAB简介 .195 (3)在一个矩阵的行与行之间需用某个符号分隔,这个符号可以是( )。 A.句号 B.减号 C.逗号 D.回车 2.多项选择题 ()在MATLAB语言中,逗号会在多种场合中用到,但代表的含义有所不同,下列明 些是它能起的作用( A.分隔希望显示执行结果的命令B.实现转置共轭 C.分隔矩阵中同一行的各元素 D.分隔输入变量 E.用作矩阵行与行之间的分隔符 (②)分号在MATLAB语言中经常 被用到,但代表的含义有所不同,下列哪些是它能 起的作用( A分隔希望显示执行结果的命令 B.用在不希望显示执行结果的命令结尾 C分隔不希望显示执行结果的合今 D.用作矩阵行与行之间的分隔符 MATLAB语句书写格式的要求 (3)工具箱是MATLAB解决专门领域问题的特殊程序集,它有多达数十个工具箱,常 用的工具箱有()。 A自动控制 B.信号处理 C图像处理 D.通信仿真 E.小波变换 最优化问题 (④)历史命令窗口能够实现的功能有( A记录并显示已经运行过的命令 B.可以把该窗口中的命令复制到命令窗口中 C.可以把该窗口中的命令选中后,用快捷菜单构造M文件 D.可以把该窗口中的命令选中后,用快捷莱单去执行 3.填空题 (I)MATLAB是目前国际上最流行、应用最广泛的 软件 (2)MAT几AB动态仿直功能是由 工具箱提供的(用英文). )启动MATLAB程序后,在默认设置下,MATLAB会同时打开4个窗口,它们分 别是 、Command History、Workspace和Current Directory. 19
第 1 章 MATLAB 简介 ·19· ·19· (3) 在一个矩阵的行与行之间需用某个符号分隔,这个符号可以是( )。 A. 句号 B. 减号 C. 逗号 D. 回车 2. 多项选择题 (1) 在 MATLAB 语言中,逗号会在多种场合中用到,但代表的含义有所不同,下列哪 些是它能起的作用( )。 A. 分隔希望显示执行结果的命令 B. 实现转置共轭 C. 分隔矩阵中同一行的各元素 D. 分隔输入变量 E. 用作矩阵行与行之间的分隔符 (2) 分号在 MATLAB 语言中经常会被用到,但代表的含义有所不同,下列哪些是它能 起的作用( )。 A. 分隔希望显示执行结果的命令 B. 用在不希望显示执行结果的命令结尾 C. 分隔不希望显示执行结果的命令 D. 用作矩阵行与行之间的分隔符 E. MATLAB 语句书写格式的要求 (3) 工具箱是 MATLAB 解决专门领域问题的特殊程序集,它有多达数十个工具箱,常 用的工具箱有( )。 A. 自动控制 B. 信号处理 C. 图像处理 D. 通信仿真 E. 小波变换 F. 最优化问题 (4) 历史命令窗口能够实现的功能有( )。 A. 记录并显示已经运行过的命令 B. 可以把该窗口中的命令复制到命令窗口中 C. 可以把该窗口中的命令选中后,用快捷菜单构造 M 文件 D. 可以把该窗口中的命令选中后,用快捷菜单去执行 3. 填空题 (1) MATLAB 是目前国际上最流行、应用最广泛的__________软件。 (2) MATLAB 动态仿真功能是由__________工具箱提供的(用英文)。 (3) 启动 MATLAB 程序后,在默认设置下,MATLAB 会同时打开 4 个窗口,它们分 别是__________、Command History、Workspace 和 Current Directory
第2章MATLAB语言基础 教学提示:数组是一种在高级语言中被广泛使用的构造型数据结构。但与一般高级语 言不同,在MATLAB中数组可作为一个独立的运算单位,直接进行类似简单变量的多种 运算而无需采用循环结构,由此决定了数组在MATLAB中作为基本运算量的角色定位, 数组有一维、二销和多维之分,在MATLAB中,它们有类以千简单变量的、统一的运草 符号和运算函数。当一维数组按向量的规则实施运算时 它便是向量: 二维数组按矩阵的 运算规则实施运算时,它便是矩阵。数组及矩阵的基本运算枸成了整个MATLAB的语 基础, 教学要求:了解MATLAB的数据类型,理解向量、矩阵、数组、函数和表达式等基 本概念,掌搔向量、矩阵和数组的基木运算法则和运算函数的使用。 2.1基本概念 数据类型、常量与变量是程序语言入门时必须引入的一些基本概念,MATLAB虽是 个集多种功能于一体的集成软件,但就其语言部分而言,这些概念同样不可缺少。本节除 了引入这些概念之外,还将对诸如向量、矩阵、数组、运算符、函数和表达式等一些更专 门的概念给出描述和说明。 2.11 MATLAB数据类型 数据作为计算机处理的对象,在程序语言中可分为多种类型,MATLAB作为一种可编 程的语言当然也不例外。MATLAB的主要数据类型如图2.1所示。 MATLAB数值型数据划分成整型和浮点型的用意和C语言有所不同 MATLAB的整 型数据主要为图像处理等特殊的应用问题提供数据类型,以便节省空间或提高运行速度。 对一般数值运算,绝大多数情况是采用双精度浮点型的数据。 MATLAB的构造型数据基本上与C++的构造型数据相衔接,但它的数组却有更加广泛 的含义和不同于 一般语言的运算方法。 符号对象是MATLAB所特有的一类为符号运算而设置的数据类型。严格地说,它不 是某一类型的数据,它可以是数组、矩阵、字符等多种形式及其组合,但它在MATLAB 的工作空间中的确又是另立的一种数据类型。 MATLAB数据类型在使用中有一个突出的特点,即对不同数据类型的变量在程序中被 引用时,一般不用事先对变量的数据类型进行定义或说明,系统会依据变量被赋值的类型 自动进行类型识别,这在高级语言中是极有特色的。这样处理的好处是,在书写程序时可 以随时引入新的变量而不用担心会出什么问题,这的确给应用带来了很大方便。但缺点是
第 2 章 MATLAB 语言基础 教学提示:数组是一种在高级语言中被广泛使用的构造型数据结构。但与一般高级语 言不同,在 MATLAB 中数组可作为一个独立的运算单位,直接进行类似简单变量的多种 运算而无需采用循环结构,由此决定了数组在 MATLAB 中作为基本运算量的角色定位。 数组有一维、二维和多维之分,在 MATLAB 中,它们有类似于简单变量的、统一的运算 符号和运算函数。当一维数组按向量的规则实施运算时,它便是向量;二维数组按矩阵的 运算规则实施运算时,它便是矩阵。数组及矩阵的基本运算构成了整个 MATLAB 的语言 基础。 教学要求:了解 MATLAB 的数据类型,理解向量、矩阵、数组、函数和表达式等基 本概念,掌握向量、矩阵和数组的基本运算法则和运算函数的使用。 2.1 基 本 概 念 数据类型、常量与变量是程序语言入门时必须引入的一些基本概念,MATLAB 虽是一 个集多种功能于一体的集成软件,但就其语言部分而言,这些概念同样不可缺少。本节除 了引入这些概念之外,还将对诸如向量、矩阵、数组、运算符、函数和表达式等一些更专 门的概念给出描述和说明。 2.1.1 MATLAB 数据类型 数据作为计算机处理的对象,在程序语言中可分为多种类型,MATLAB 作为一种可编 程的语言当然也不例外。MATLAB 的主要数据类型如图 2.1 所示。 MATLAB 数值型数据划分成整型和浮点型的用意和 C 语言有所不同。MATLAB 的整 型数据主要为图像处理等特殊的应用问题提供数据类型,以便节省空间或提高运行速度。 对一般数值运算,绝大多数情况是采用双精度浮点型的数据。 MATLAB 的构造型数据基本上与 C++的构造型数据相衔接,但它的数组却有更加广泛 的含义和不同于一般语言的运算方法。 符号对象是 MATLAB 所特有的一类为符号运算而设置的数据类型。严格地说,它不 是某一类型的数据,它可以是数组、矩阵、字符等多种形式及其组合,但它在 MATLAB 的工作空间中的确又是另立的一种数据类型。 MATLAB 数据类型在使用中有一个突出的特点,即对不同数据类型的变量在程序中被 引用时,一般不用事先对变量的数据类型进行定义或说明,系统会依据变量被赋值的类型 自动进行类型识别,这在高级语言中是极有特色的。这样处理的好处是,在书写程序时可 以随时引入新的变量而不用担心会出什么问题,这的确给应用带来了很大方便。但缺点是