MATLAB 命令与语法.docx
- 文档编号:11547639
- 上传时间:2023-03-19
- 格式:DOCX
- 页数:32
- 大小:173.96KB
MATLAB 命令与语法.docx
《MATLAB 命令与语法.docx》由会员分享,可在线阅读,更多相关《MATLAB 命令与语法.docx(32页珍藏版)》请在冰豆网上搜索。
MATLAB命令与语法
MATLAB命令与语法
File菜单功能表
下拉菜单
功能
New
M-file
新建一个M文件,打开M文件编辑/调试器
Figure
新建一个图形窗口
Model
新建一个仿真模型
GUI
新建一个图形用户设计界面(GUI)
Open...
打开已有文件
CloseCommandHistory
关闭历史命令窗口
ImportData...
导入其他文件的数据
SaveWorkspaceas...
使用二进制的MAT文件保存工作空间的内容
PageSetup...
页面设置
SetPath...
设置搜索路径等
Preferences...
设置MATLAB工作环境外观和操作的相关属性等参数
Print...
打印
PrintSelection...
打印所选择区域
ExitMATLAB
退出MATLAB
表1.4 命令窗口中行编辑的常用操作键
键名
作用
键名
作用
↑
向前调回已输入过的命令行
Home
使光标移到当前行的开头
↓
向后调回已输入过的命令行
End
使光标移到当前行的末尾
←
在当前行中左移光标
Delete
删去光标右边的字符
→
在当前行中右移光标
Backspace
删去光标左边的字符
PageUp
向前翻阅当前窗口中的内容
Esc
清除当前行的全部内容
PageDown
向后翻阅当前窗口中的内容
CTRL+C
中断MATLAB命令的运行
(3)命令窗口中的标点符号
表1.5 MATLAB常用标点符号的功能
名称
符号
功能
空格
用于输入变量之间的分隔符以及数组行元素之间的分隔符。
逗号
用于要显示计算结果的命令之间的分隔符;用于输入变量之间的分隔符;用于数组行元素之间的分隔符。
点号
.
用于数值中的小数点。
分号
;
用于不显示计算结果命令行的结尾;用于不显示计算结果命令之间的分隔符;用于数组元素行之间的分隔符。
冒号
:
用于生成一维数值数组,表示一维数组的全部元素或多维数组的某一维的全部元素。
百分号
%
用于注释的前面,在它后面的命令不需要执行。
单引号
‘’
用于括住字符串。
圆括号
()
用于引用数组元素;用于函数输入变量列表;用于确定算术运算的先后次序。
方括号
[]
用于构成向量和矩阵;用于函数输出列表。
花括号
{}
用于构成元胞数组。
下划线
-
用于一个变量、函数或文件名中的连字符。
续行号
…
用于把后面的行与该行连接以构成一个较长的命令。
“At”号
@
用于放在函数名前形成函数句柄;用于放在目录名前形成用户对象类目录。
表1.6 数据显示的Format格式
命令格式
含义
例子
format
formatshort(默认)
通常保证小数点后四位有效;大于1000的实数,用5位有效数字的科学计数法显示
314.159显示为314.1590
3141.59显示为3.1416e+003
formatshorte
5位科学计数法表示
π显示为3.1416e+000
formatshortg
从formatshort和formatshorte中自动选择最佳计数方式
π显示为3.1416
formatlong
15位数字表示
π显示为3.14159265358979
formatlonge
15位科学计数法表示
π显示为3.141592653589793e+000
formatlongg
从formatlong和formatlonge中自动选择最佳计数方式
π显示为3.1415926358979
formatrat
近似有理数表示
π显示为355/113
formathex
十六进制表示
π显示为400921fb54442dl8
format+
正数、负数、零分别用+、-、空格
π显示为+
formatbank
表示(金融)元、角、分
π显示为3.14
formatcompact
在显示结果之间没有空行的压缩格式
formatloose
在显示结果之间有空行的稀疏格式
(5)命令窗口的常用控制命令
▪clc:
用于清空命令窗口中的显示内容。
more:
在命令窗口中控制其后每页的显示内容行数。
历史命令窗口(CommandHistory)
表1.7 历史指令窗口主要功能的操作方法
应用功能
操作方法
单行或多行命令的复制(Copy)
选中单行或多行命令,按鼠标右键出现快捷菜单,再选择“Copy”菜单,就可以把它复制。
单行或多行命令的运行 (EvaluateSelection)
选中单行或多行命令,按鼠标右键出现快捷菜单,再选择“EvaluateSelection”菜单,就可在命令窗口中运行,并得出相应结果。
或者双击选择的命令行也可运行。
把多行命令写成M文件(CreateM-File)
选中单行或多行命令,按鼠标右键出现快捷菜单,选择“CreateM-File”菜单,就可以打开写有这些命令的M文件编辑/调试器窗口。
把用户目录设置成当前目录的方法有两种:
▪在当前目录设置区设置。
在上图中或MATLAB界面工具栏的右边都有当前目录设置区,可以在“设置栏”中直接填写待设置的目录名。
▪通过命令设置
cd%显示当前目录
cd目录%指定当前目录
cd..%指定上一级目录为当前目录
(2)文件详细列表区的使用
表1.8 文件详细列表区的主要应用功能
功能
操作方法
运行M文件(Run)
选择待运行文件,按鼠标右键出现快捷菜单,选择“Run”菜单运行M文件。
打开M文件(Open)
选择待运行M文件,按鼠标右键出现快捷菜单,选择“Open”菜单,则M文件出现在M文件编辑/调试器窗口中。
或者双击该M文件也可打开文件。
把MAT文件全部数据输入内存(Open)
选择待装入的MAT数据文件,按鼠标右键出现快捷菜单,选择“Open”菜单,此文件的数据就全部装入工作空间。
或者双击该MAT文件也可实现。
把MAT文件部分数据输入内存(ImportData)
选择待装载MAT数据文件,按鼠标右键出现快捷菜单,选择“ImportData”菜单,出现数据输入向导对话框“ImportWizard”,选择待装入的数据变量名,然后单击“Finish”按钮。
表1.9 工作空间浏览器主要功能的操作方法
功能
操作方法
变量的字符显示
选中变量按鼠标右键出现快捷菜单,选择“Open…”菜单,则数值类、字符类变量显示在“ArrayEditor”数组编辑器窗口中。
或者双击该变量也可显示。
变量的图形显示
选中变量按鼠标右键出现快捷菜单,选择菜单“Graph”的下拉菜单,则系统就以该绘图命令使变量可视化显示。
全部内存变量保存为MAT文件
按鼠标右键出现快捷菜单,选择“SaveWorkspaceAs…”菜单,则可把当前内存中全部变量保存为数据文件。
部分内存变量保存为MAT文件
选中若干变量按鼠标右键出现快捷菜单,选择“SaveSelectionAs…”菜单,则可把所选变量保存为数据文件。
删除部分内存变量
选中一个或多个变量按鼠标右键出现快捷菜单,选择“Delete”菜单。
出现“ConfirmDelete”对话框,单击“Yes”按钮。
或者选择工作空间浏览器窗口的菜单“Edit”→“Delete”。
删除全部内存变量
按鼠标右键出现快捷菜单,选择“ClearWorkspace”菜单。
(2)通过命令管理变量
▪save:
把工作空间中的数据存放到MAT数据文件
saveFileName变量1变量2…参数%将变量保存到文件中
说明:
FileName为MAT文件名;
变量1、变量2可以省略,省略时则保存工作空间的所有变量;
参数为保存的方式,有-ASCII、-append等方式。
>>saveFileName1%把全部内存变量保存为FileName1.mat文件
>>saveFileName2ab%把变量a,b保存为FileName2.mat文件
>>saveFileName3ab-append%把变量a,b添加到FileName3.mat文件中
▪load:
从数据文件中取出变量到工作空间
loadFileName变量1变量2…
说明:
变量1、变量2可以省略,省略时则装载所有变量。
例如:
>>loadFilename1%把FileName1.mat文件中的全部变量装入内存
>>loadFileName2ab%把FileName2.mat文件中的a,b变量装入内存
▪who:
查阅MATLAB内存变量变量名
>>who
Yourvariablesare:
abc
▪whos:
查阅MATLAB内存变量变量名、大小、类型和字节数
>>whos
NameSizeBytesClass
a1x18doublearray
b1x510chararray
c3x248doublearray
Grandtotalis12elementsusing66bytes
▪clear:
删除工作空间中的变量
>>cleara
>>who
Yourvariablesare:
bc
▪exist(‘X’):
查询工作空间中是否存在某个变量
i=exist(‘X’)%查询工作空间中是否有’X’变量
说明:
▪i=1:
表示存在一个变量名为’X’的变量;
▪i=2:
表示存在一个名为’X.m’的文件;
▪i=3:
表示存在一个名为’X.mex’的文件;
▪i=4:
表示存在一个名为’X.mdl’文件;
▪i=5:
表示存在一个名为’X’的内部函数;
▪i=0:
表示不存在以上变量和文件。
说明:
M文件就是最普通最常用的script文件。
Matlab是一个解析执行的高级语言,所有的命令都是script。
具体很难描述,有点像DOS中的bat文件,或者是Linux中的shellscript。
MAT文件是matlab的数据文件,用于存储matlab的变量。
可以使用save命令将一个或多个变量存储到一个MAT文件中。
MEX文件是matlab的可执行文件。
Matlab是解释执行的,没有自己的编译器。
但是,它能够结合外部的编译器来编译和连接程序,而这个编译连接之后的输出就是一个MEX文件。
例如,Matlab可以调用VC2008的编译器来编译和连接一个用C/C++编写的程序,生成相应的MEX文件,而该MEX文件可直接在Matlab中像使用M文件一样的被调用。
6.交互界面分类目录窗口(LaunchPad)
▪双击应用条目“ImportWizard”、“Profiler”和“GUIDE”,就出现相应的界面窗口。
▪双击“Help”条目,就打开帮助文件出现帮助导航/浏览器窗口。
▪双击“Demos”条目,就出现帮助导航/浏览器窗口的Demos选项卡。
▪双击“ProductPage (Web)”条目,就会上网连接支持网站的相应产品页面。
7.M文件编辑/调试器窗口(Editor/Debugger)
启动M文件编辑/调试器窗口的方法:
▪单击MATLAB界面上的
图标,或者单击菜单“File”→“New”→“M-file”,可打开空白的M文件编辑器。
▪单击MATLAB界面上的
图标,或者单击菜单“File”→“Open”,在打开的“Open”对话框中填写所选文件名,单击“打开”按钮,就可出现相应的M文件编辑器。
▪
用鼠标双击当前目录窗口中的M文件(扩展名为.m),可直接打开相应文件的M文件编辑器。
图1.17显示打开了一个“Ex0101.m”文件的M文件编辑/调试器窗口:
8.帮助导航/浏览器窗口(HelpNavigator/Browser)
单击工具栏的
图标;或选择菜单“View”→“Help”;或选择菜单“Help”→“MATLABHelp”都能出现帮助导航/浏览器窗口。
1.4MATLAB6.5其他管理
1.4.1MATLAB用户文件格式
1.程序文件
程序文件即M文件,其文件的扩展名为.m,包括主程序和函数文件,M文件通过M文件编辑/调试器生成。
MATLAB的各工具箱中的函数大部分是M文件。
2.数据文件
数据文件即MAT文件,其文件的扩展名为.mat,用来保存工作空间的数据变量,数据文件可以通过在命令窗口中输入“save”命令生成。
3.可执行文件
可执行文件即MEX文件,其文件的扩展名为.mex,由MATLAB的编译器对M文件进行编译后产生,其运行速度比直接执行M文件快得多(在8.1小节介绍)。
4.图形文件
图形文件的扩展名为.fig,可以在“File”菜单中创建和打开,也可由MATLAB的绘图命令和图形用户界面窗口产生。
5.模型文件
模型文件扩展名为.mdl,是由Simulink工具箱建模生成的。
另外,还有仿真文件.s文件。
1.4.2设置搜索路径
1.MATLAB的基本搜索过程
MATLAB按照以下步骤进行搜索:
▪在MATLAB内存中进行检查,检查X是否为工作空间的变量或特殊变量;
▪检查X是否为MATLAB的内部函数(Built-inFunction);
▪在当前目录上,检查是否有名为“X.m”或“X.mex”的文件存在;
▪在MATLAB搜索路径的所有其他目录中,检查是否有名为“X.m”或“X.mex”的文件存在;
▪如果都不是,则MATLAB发出错误信息。
注意:
命令“exist”、“which”和“load”执行时也都遵循MATLAB搜索步骤的先后次序。
2.MATLAB搜索路径的扩展和修改
当用户的某些目录不在搜索路径上,必须修改搜索路径。
(1)利用设置路径对话框修改搜索路径
▪在MATLAB界面选择菜单“File”→“SetPath”命令。
▪在命令窗口运行“pathtool”命令。
通过“AddFolder…”和“AddwithSubfolders…”按钮打开浏览文件夹窗口来添加搜索目录。
(2)利用path命令设置搜索路径
path(path,‘新增目录’)%在MATLAB的搜索路径的末尾添加新目录
>>path(path,'c:
:
\MyDir')
1.4.3文件管理命令
▪what:
列出当前目录下的M、MAT、MEX文件清单
▪dir:
列出指定目录下的文件和子目录清单
dir目录名%列出指定目录下的文件和子目录清单
▪type文件名:
显示指定M文件的内容
▪which文件名:
指出M文件、MEX文件、工作空间变量、内置函数或Simulink模型所在的目录
▪matlabroot:
返回安装MATLAB的根目录
▪diary:
把当前命令窗口中的所有内容(包括命令、计算结果等)保存到日志文件中
diary('file')%使用指定文件名创建日志文件
diaryoff%暂停执行diary命令
diaryon%恢复执行diary命令并使用当前的文件名
1.4.4退出MATLAB
要想退出MATLAB环境,可以使用以下任何一种方式:
▪在MATLAB的命令窗口输入“exit”命令。
▪在MATLAB的命令窗口输入“quit”命令。
▪直接单击MATLAB的命令窗口的
按钮。
表2.1特殊变量表
特殊变量
取值
ans
运算结果的默认变量名
pi
圆周率π
eps
计算机的最小数
flops
浮点运算数
inf
无穷大,如1/0
NaN或nan
非数,如0/0、∞/∞、0×∞
i或j
i=j=
nargin
函数的输入变量数目
nargout
函数的输出变量数目
realmin
最小的可用正实数
realmax
最大的可用正实数
2.通过语句生成矩阵
(1)使用from:
step:
to方式生成向量
from:
to
from:
step:
to
说明:
from、step和to分别表示开始值、步长和结束值。
当step省略时则默认为step=1;
当step省略或step>0而from>to时为空矩阵,当step<0而from (2)使用linspace和logspace函数生成向量 linspace(a,b,n) 说明: a、b、n三个参数分别表示开始值、结束值和元素个数。 生成从a到b之间线性分布的n个元素的行向量,n如果省略则默认值为100。 ▪logspace用来生成对数等分向量,它和linspace一样直接给出元素的个数而得出各个元素的值。 logspace(a,b,n) 说明: a、b、n三个参数分别表示开始值、结束值和数据个数,n如果省略则默认值为50。 生成从10a到10b之间按对数等分的n个元素的行向量。 3.由矩阵生成函数产生特殊矩阵 MATLAB提供了很多能够产生特殊矩阵的函数,各函数的功能如表2.2所示。 表2.2矩阵生成函数 函数名 功能 例子 输入 结果 zeros(m,n) 产生m×n的全0矩阵 zeros(2,3) ans= 000 000 ones(m,n) 产生m×n的全1矩阵 ones(2,3) ans= 111 111 rand(m,n) 产生均匀分布的随机矩阵,元素取值范围0.0~1.0。 rand(2,3) ans= 0.95010.60680.8913 0.23110.48600.7621 randn(m,n) 产生正态分布的随机矩阵 randn(2,3) ans= -0.43260.1253-1.1465 -1.66560.28771.1909 magic(N) 产生N阶魔方矩阵(矩阵的行、列和对角线上元素的和相等) magic(3) ans= 816 357 492 eye(m,n) 产生m×n的单位矩阵 eye(3) ans= 100 010 001 注意: zeros、ones、rand、randn和eye函数当只有一个参数n时,则为n×n的方阵; 当eye(m,n)函数的m和n参数不相等时则单位矩阵会出现全0行或列。 4.通过MAT数据文件加载矩阵 通过“load”命令或选择菜单“File”→“ImportData”命令加载MAT数据文件来创建矩阵。 5.在M文件中创建矩阵 M文件实际上是一种包含MATLAB代码的文本文件; 通过在MATLAB命令窗口中运行M文件创建矩阵。 (3)逻辑矩阵 子矩阵也可以利用逻辑矩阵来标识; 逻辑矩阵是大小和对应矩阵相同,而元素值为0或者1的矩阵。 可以用a(L1,L2)来表示子矩阵,其中L1、L2为逻辑向量,当L1、L2的元素为0则不取该位置元素,反之则取该位置的元素。 3.矩阵的赋值 ▪全下标方式: a(i,j)=b,给a矩阵的部分元素赋值则b矩阵的行列数必须等于a矩阵的行列数。 ▪单下标方式: a(s)=b,b为向量,元素个数必须等于a矩阵的元素个数。 ▪全元素方式: a(: )=b,给a矩阵的所有元素赋值则b矩阵的元素总数必须等于a矩阵的元素总数,但行列数不一定相等。 4.矩阵元素的删除 删除操作就是简单地将其赋值为空矩阵(用[]表示)。 5.生成大矩阵 在MATLAB中,可以通过方括号“[]”实现将小矩阵联接起来生成一个较大的矩阵。 表2.3常用矩阵翻转函数 函数名 功能 例子 输入 结果 triu(X) 产生X矩阵的上三角矩阵,其余元素补0。 triu(a) ans= 120 040 009 tril(X) 产生X矩阵的下三角矩阵,其余元素补0。 tril(a) ans= 100 340 569 flipud(X) 使矩阵X沿水平轴上下翻转 flipud(a) ans= 569 340 120 fliplr(X) 使矩阵X沿垂直轴左右翻转 fliplr(a) ans= 021 043 965 flipdim(X,dim) 使矩阵X沿特定轴翻转。 dim=1,按行维翻转; dim=2,按列维翻转。 flipdim(a,1) ans= 569 340 120 rot90(X) 使矩阵X逆时针旋转900 rot90(a) ans= 009 246 135 2.2.3字符串 在MATLAB中,字符串是作为字符数组来引入的; 一个字符串由多个字符组成,用单引号(’’)来界定; 字符串是按行向量进行存储的,每一字符(包括空格)是以其ASCII码的形式存放。 2.字符串函数 ▪length: 用来计算字符串的长度(即组成字符的个数)。 ▪double: 用来查看字符串的ASCII码储存内容,包括空格(ASCII码为32)。 ▪char: 用来将ASCII码转换成字符串形式。 ▪class或ischar: 用来判断某一个变量是否为字符串。 class函数返回char则表示为字符串,而ischar函数返回1表示为字符串。 ▪strcmp(x,y): 比较字符串x和y的内容是否相同。 返回值如果为1则相同,为0则不同。 ▪findstr(x,x1): 寻找在某个长字符串x中的子字符串x1,返回其起始位置。 ▪deblank(x): 删除字符串尾部的空格。 由于MATLAB将字符串以其相对应的ASCII码储存成一个行向量,因此如果字符串直接进行数值运算,则其结果就变成一般数值向量的运算,而不再是字符串的运算。 3.使用一个变量来储存多个字符串 (1)多个字符串组成一个新的行向量 将多个字符串变量直接用“,”连接,构成一个行向量,就可以得到一个新字符串变量。 (2)使用二维字符数组 将每个字符串放在一行,多个字符串可以构成一个二维字符数组,但必须先在短字符串结尾补上空格符,以确保每个字符串(即每一行)的长度一样。 否则MATLAB会提示出错: (3)使用str2mat、strvcat和char函数 使用专门的str2mat、strvcat和char函数可以构造出字符串矩阵,而不必考虑每行的字符数是否相等,总是按最长的设置,不足的末尾用空格补齐。 5.执行字符串 如果需要直接“执行”某一字符串,可以使用eval命令,效果就如同直接在MATLA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 命令与语法 命令 语法
![提示](https://static.bdocx.com/images/bang_tan.gif)