MATLAB 命令与语法

MATLAB 命令与语法
MATLAB 命令与语法

MATLAB 命令与语法

File菜单功能表

表1.4命令窗口中行编辑的常用操作键

(3) 命令窗口中的标点符号

表1.5MATLAB常用标点符号的功能

表1.6数据显示的Format格式

?clc:用于清空命令窗口中的显示内容。

more:在命令窗口中控制其后每页的显示内容行数。

历史命令窗口(Command History)

表1.7历史指令窗口主要功能的操作方法

?在当前目录设置区设置。在上图中或MATLAB界面工具栏的右边都有当前目录设置区,可以在“设置栏”中直接填写待设置的目录名。

?通过命令设置

cd %显示当前目录

cd 目录%指定当前目录

cd .. %指定上一级目录为当前目录

(2) 文件详细列表区的使用

表1.8文件详细列表区的主要应用功能

表1.9工作空间浏览器主要功能的操作方法

?save: 把工作空间中的数据存放到MA T数据文件

save FileName 变量1 变量2 …参数%将变量保存到文件中

说明:

FileName为MAT文件名;

变量1、变量2可以省略,省略时则保存工作空间的所有变量;

参数为保存的方式,有-ASCII、-append等方式。

>> save FileName1%把全部内存变量保存为FileName1.mat文件>> save FileName2 a b%把变量a,b保存为FileName2.mat文件>> save FileName3 a b -append%把变量a,b添加到FileName3.mat文件中

?load: 从数据文件中取出变量到工作空间

load FileName 变量1 变量2 …

说明:变量1、变量2可以省略,省略时则装载所有变量。

例如:

>> load Filename1%把FileName1.mat文件中的全部变量装入内存>> load FileName2 a b%把FileName2.mat文件中的a,b变量装入内存

?who: 查阅MA TLAB内存变量变量名

>> who

Your variables are:

a b c

?whos: 查阅MA TLAB内存变量变量名、大小、类型和字节数

>> whos

Name Size Bytes Class

a 1x1 8 double array

b 1x5 10 char array

c 3x2 48 double array

Grand total is 12 elements using 66 bytes

?clear: 删除工作空间中的变量

>> clear a

>> who

Your variables are:

b c

?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中的shell script。

MAT文件是matlab的数据文件,用于存储matlab的变量。可以使用save命令将一个或多个变量存储到一个MAT文件中。

MEX文件是matlab的可执行文件。Matlab是解释执行的,没有自己的编译器。但是,它能够结合外部的编译器来编译和连接程序,而这个编译连接之后的输出就是一个MEX文件。例如,Matlab可以调用VC2008的编译器来编译和连接一个用C/C++编写的程序,生成相应的MEX文件,而该MEX文件可直接在Matlab中像使用M文件一样的被调用。

6. 交互界面分类目录窗口(Launch Pad)

?双击应用条目“Import Wizard”、“Profiler”和“GUIDE”,就出现相应的界面窗口。

?双击“Help”条目,就打开帮助文件出现帮助导航/浏览器窗口。

?双击“Demos”条目,就出现帮助导航/浏览器窗口的Demos选项卡。

?双击“Product Page (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文件编辑/调试器窗口:

图1.17 M文件编辑/调试器窗口

8. 帮助导航/浏览器窗口(Help Navigator/Browser)

单击工具栏的图标;或选择菜单“View”→“Help”;或选择菜单“Help”→“MATLAB Help”都能出现帮助导航/浏览器窗口。

1.4 MATLAB 6.5其他管理

1.4.1 MATLAB用户文件格式

1. 程序文件

程序文件即M文件,其文件的扩展名为.m,包括主程序和函数文件,M文件通过M文件编辑/调试器生成。MA TLAB的各工具箱中的函数大部分是M文件。

2. 数据文件

数据文件即MA T文件,其文件的扩展名为.mat,用来保存工作空间的数据变量,数据文件可以通过在命令窗口中输入“save”命令生成。

3. 可执行文件

可执行文件即MEX文件,其文件的扩展名为.mex,由MA TLAB的编译器对M文件进行编译后产生,其运行速度比直接执行M文件快得多(在8.1小节介绍)。

4. 图形文件

图形文件的扩展名为.fig,可以在“File”菜单中创建和打开,也可由MA TLAB的绘图命令和图形用户界面窗口产生。

5. 模型文件

模型文件扩展名为.mdl,是由Simulink工具箱建模生成的。另外,还有仿真文件.s文件。

1.4.2设置搜索路径

1. MATLAB 的基本搜索过程

MATLAB 按照以下步骤进行搜索:

? 在MA TLAB 内存中进行检查,检查X 是否为工作空间的变量或特殊变量; ? 检查X 是否为MATLAB 的内部函数(Built-in Function);

? 在当前目录上,检查是否有名为“X.m”或“X.mex”的文件存在;

? 在MA TLAB 搜索路径的所有其他目录中,检查是否有名为“X.m”或 “X.mex”的文件存在;

? 如果都不是,则MATLAB 发出错误信息。 注意:

命令“exist”、“which”和“load”执行时也都遵循MATLAB 搜索步骤的先后次序。

2. MATLAB 搜索路径的扩展和修改

当用户的某些目录不在搜索路径上,必须修改搜索路径。 (1) 利用设置路径对话框修改搜索路径

? 在MA TLAB 界面选择菜单“File ”→“Set Path ”命令。 ? 在命令窗口运行“pathtool ”命令。

通过“Add Folder …”和“Add with Subfolders …”按钮打开浏览文件夹窗口来添加搜索目录。

(2) 利用path 命令设置搜索路径

path (path, ‘

新增目录’) %在MATLAB 的搜索路径的末尾添加新目录

>> path(path,'c: :\MyDir ')

图1.21 设置路径对话框

1.4.3文件管理命令

?what :列出当前目录下的M、MAT、MEX文件清单

?dir:列出指定目录下的文件和子目录清单

dir 目录名%列出指定目录下的文件和子目录清单

?type 文件名:显示指定M文件的内容

?which 文件名:指出M文件、MEX文件、工作空间变量、内置函数或Simulink模型所在的目录

?matlabroot :返回安装MATLAB的根目录

?diary:把当前命令窗口中的所有内容(包括命令、计算结果等)保存到日志文件中diary ('file') %使用指定文件名创建日志文件

diary off %暂停执行diary命令

diary on %恢复执行diary命令并使用当前的文件名

1.4.4 退出MATLAB

要想退出MATLAB环境,可以使用以下任何一种方式:

?在MA TLAB的命令窗口输入“exit”命令。

?在MA TLAB的命令窗口输入“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、ones、rand、randn和eye函数当只有一个参数n时,则为n×n的方阵;

当eye(m,n)函数的m和n参数不相等时则单位矩阵会出现全0行或列。

4. 通过MAT数据文件加载矩阵

通过“load”命令或选择菜单“File”→“Import Data”命令加载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. 生成大矩阵

在MA TLAB中,可以通过方括号“[]”实现将小矩阵联接起来生成一个较大的矩阵。

表2.3 常用矩阵翻转函数

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命令,效果就如同直接在MATLAB命令窗口内输入此命令。

6. 显示字符串

字符串可以直接使用disp命令显示出来,即使后面加分号(;)也显示。

表2.4 常用矩阵运算函数

说明:

在上表中det(a)=0或det(a)虽不等于零但数值很小接近于零,则计算inv(a)时,其解的精度比较低,用条件数(求条件数的函数为cond)来表示,条件数越大,解的精度越低,MATLAB会提出警告:“条件数太大,结果可能不准确”。

2. 矩阵和数组的算术运算

(1) 矩阵和数组的加+、减运算-

●A和B矩阵必须大小相同才可以进行加减运算。

●如果A、B中有一个是标量,则该标量与矩阵的每个元素进行运算。

(2) 矩阵和数组的乘法*运算

●矩阵A的列数必须等于矩阵B的行数,除非其中有一个是标量。

●数组的乘法运算符为“.*”,表示数组A和B中的对应元素相乘。A和B数组必须大

小相同,除非其中有一个是标量。

(3) 矩阵和数组的除法

?矩阵运算符为“\”和“/”分别表示左除和右除。

A\B=A-1*B

A/B=A*B-1。

其中:A-1是矩阵的逆,也可用inv(A)求逆矩阵。

?数组的除法运算表达式

“A.\B”和“A./B”,分别为数组的左除和右除,表示数组相应元素相除。

A和B数组必须大小相同,除非其中有一个是标量。

●在线性方程组A*X=B中,m×n阶矩阵A的行数m表示方程数,列数n表示未知数

的个数。

●n=m,A为方阵,A\B=inv(A)*B。

●m > n,是最小二乘解,X=inv(A’*A)*(A’*B)

●m

(4) 矩阵和数组的乘方

?矩阵乘方的运算表达式为“A^B”,其中A可以是矩阵或标量。

当A为矩阵,必须为方阵:

B为正整数时,表示A矩阵自乘B次;

B为负整数时,表示先将矩阵A求逆,再自乘|B|次,仅对非奇异阵成立;

B为矩阵时不能运算,会出错;

B为非整数时,将A分解成A=W*D/W,D为对角阵,则有A^B=W*D^B/W。

当A为标量:

B为矩阵时,将A分解成A=W*D/W,D为对角阵,则有A^B=W*diag(D.^B)/W。

?数组乘方的运算表达式“A.^B”。

当A为矩阵,B为标量时,则将A(i,j)自乘B次;

当A为矩阵,B为矩阵时,A和B数组必须大小相同,则将A(i,j)自乘B(i,j)次;

当A为标量,B为矩阵时,将A^ B(i,j)构成新矩阵的第i行第j列元素。

3. 矩阵和数组的转置

?矩阵的转置运算

“A’”表示矩阵A的转置,如果矩阵A为复数矩阵,则为共轭转置。

?数组的转置运算

“A.’”表示数组A的转置,如果数组A为复数数组,则不是共轭转置。

4. 矩阵和数组的数学函数

MATLAB中数学函数对数组的每个元素进行运算。数组的基本函数如表2.5所示。

表2.5 基本函数

S为标量,A、B为矩阵。

表2.6 矩阵和数组运算对比表

注意:

funm(A,’FUN’)要求A必须是方阵,“FUN”为矩阵运算的函数名。

5. 关系操作和逻辑操作

(1) 关系运算

关系操作符:

<、<=、>、>=、= =(等于)、~=(不等于)

关系运算规则:

?两个变量都是标量,则结果为真(1)或假(0)。

?两个变量都是数组,则必须大小相同,结果也是同样大小的数组,数组的元素为0或1。

?一个数组和一个标量,则把数组的每个元素分别与标量比较,结果为与数组大小相同的数组,数组的元素为0或1。

?<、<= 和>、>=,仅对参加比较变量的实部进行比较,

= = 和~= ,则同时对实部和虚部进行比较。

(2) 逻辑运算

逻辑操作符:

&(与)、|(或)、~(非)和xor(异或)。

&&(先决与)逻辑运算符是当该运算符的左边为1(真)时,才继续执行该符号右边的运算。

|| (先决或)逻辑运算符是该当运算符的左边为1(真)时,就不需要继续执行该符号右边的运算,而立即得出该逻辑运算结果为1(真);否则,就要继续执行该符号右边的运算。

逻辑运算规则:

?在逻辑运算中,非0元素表示真(1),0元素表示假(0),逻辑运算的结果为0或1,逻辑运算法则如表2.7所示。

表2.7 逻辑运算

?两个变量都是标量,则结果为0、1的标量。

?两个变量都是数组,则必须大小相同,结果也是同样大小的数组。

一个数组和一个标量,则把数组的每个元素分别与标量比较,结果为与数组大小相同的数组。

(3) 函数运算

MATLAB中能得出真(1)和假(0)结果的函数有:

关系逻辑函数、工作状态判断函数、特殊数据判断函数和数据类型函数。

a = b=

1 Inf 0 1

0 2 1 0

表2.8 关系逻辑函数

6. 运算符优先级

在MATLAB中各种运算符的优先级如下:

'(矩阵转置)、^(矩阵幂)和.'(数组转置)、.^(数组幂)

→ ~(逻辑非)

→ *(乘)、/(左除)、\(右除)和.*(点乘)、./(点左除)、.\(点右除) →+、-(加减)

→: (冒号)

→<、<=、>、>=、~=

→&(逻辑与)

→ |(逻辑或)

→ &&(先决与)

→ ||(先决或)

2.2.5多维数组

(3) 利用函数生成数组

?将一系列数组沿着特定的维连接成一个多维数组

语法:

cat(维,p1,p2,……)

说明:第一个参数维是指沿着第几维连接数组p1、p2等。?按指定行列数放置模块数组生成多维数组

repmat(p)

repmat(p,行列页……)

说明:第一个输入变量p是用来放置的模块数组,后面的变量是要放在指定的各维。

?在总元素的数目不变的前提下重新确定数组的行列数来重组数组

语法:

reshape(p)

reshape(p,行列页……)

说明:第一个变量是待重组的数组p,后面的变量是重新生成数组的行数、列数、页数”。

2. 多维数组的标识

?直接给出数组的维数

语法:

ndims (p)

?给出数组各维的大小

语法:

[m,n,…]=size(p) %得出各维的大小

m=size(p,x) %得出某一维的大小

说明:p为需要得出大小的多维数组;m为行数,n为列数…;当只有一个输出变量时,x=1返回第一维(行数),x=2返回第二维(列数),以此类推。

?返回行数或列数的最大值

语法:

length(p)

说明:length(p)等价于max(size(p))。

2.3稀疏矩阵

一个矩阵中如果包含很多元素值为0,则此矩阵可以只存储少量的非0元素,这个矩阵称为稀疏矩阵(Sparse Matrix)。

2.3.1稀疏矩阵的建立

稀疏矩阵大部分的元素都是0,因此只需储存非零元素的下标和元素值,这种特殊的存储方式可以节省大量的存储空间和不必要的运算。

1. 使用sparse函数产生稀疏矩阵

sparse函数用于创建稀疏矩阵,或将一个全元素矩阵直接转换成稀疏矩阵。

语法:

sparse(i,j,s,m,n) %直接创建稀疏矩阵

sparse(p) %由全元素矩阵p转换为稀疏矩阵

说明:i、j是非0元素的行、列下标;s是非0元素所形成的向量;m、n是s的行、列维数,可省略;i、j、s都是长度相同的向量,生成矩阵的元素s(k)下标分别是i(k)和j(k);p为全元素矩阵。

与sparse函数相反,full函数可将稀疏矩阵转变为全元素矩阵。

full(p) %将稀疏矩阵p转变为全元素矩阵

2. 用spdiags函数创建稀疏矩阵

spdiags函数是用对角线元素来构建一个稀疏矩阵。

语法:

spdiags(D,k,m,n)

说明:矩阵D的每一列代表矩阵的对角线向量;k代表对角线的位置(0代表主对角线,-1代表向下位移一单位的次对角线,1代表向上位移一单位的次对角线,依此类推);m、n分别代表矩阵的行、列维数。

3. 用spconvert函数从外部文件输入稀疏矩阵

可以将load命令和spconvert函数结合,将文本文件(如*.dat)调用到内存,然后将文本文件内容转换成稀疏矩阵。也可以直接用save或load命令将稀疏矩阵保存到MAT文件中或从MAT文件调用到内存中。

语法:

spconvert (Filename)

2.3.2稀疏矩阵的存储空间

MATLAB提供了得出稀疏矩阵元素个数的函数:

?nnz:可返回稀疏矩阵的非零元素个数。

?nonzeros:返回一个包含所有非零元素的列向量。

?nzmax:返回最大的非零元素个数,当nnz>nzmax时,MA TLAB会动态调整增加内存给nzmax,以储存新增的非零元素。

?spy:用图形观看稀疏矩阵的非零元素分布情况。

2.3.3稀疏矩阵的运算

稀疏矩阵的标准数学运算按照以下原则:

?如果函数的输入参数是向量或标量,输出的参数为矩阵,则输出参数为全元素矩阵;

?如果函数的输入参数是矩阵,输出的参数为矩阵,则输出参数以输入矩阵的方式来表示,即当输入参数为稀疏矩阵时,输出参数也是稀疏矩阵;

?如果二元运算的两个操作数中有一个是全元素矩阵一个是稀疏矩阵,则对于“+”、“-”、“*”、“\”运算结果为全元素矩阵,而“&”、“.* ”运算结果为稀疏矩阵。

用“cat”函数或“[]”连接混合矩阵将产生稀疏矩阵。

2.4.1多项式的求值、求根和部分分式展开

1. 多项式求值

函数polyval可以用来计算多项式在给定变量时的值,是按数组运算规则进行计算的。

语法:

polyval(p,s)

说明:p为多项式, s为给定矩阵。

2. 多项式求根

? roots 用来计算多项式的根。 语法:

r=roots(p)

说明:p 为多项式;r 为计算的多项式的根,以列向量的形式保存。

? 与函数roots 相反,根据多项式的根来计算多项式的系数可以用poly 函数来实现。 语法:

p=poly (r) 3. 特征多项式

对于一个方阵s ,可以用函数poly 来计算矩阵的特征多项式的系数。特征多项式的根即为特征值,用roots 函数来计算。

语法:

p=poly (s)

4. 部分分式展开

用residue 函数来实现将分式表达式进行多项式的部分分式展开。

k(s)n

p s n r 2p s 2r 1p s 1r A(s)B(s)+-++-+-=Λ 语法:

[r,p,k]=residue(b,a)

说明:b 和a 分别是分子和分母多项式系数行向量;r 是[r 1 r 2 …r n ]留数行向量;p 为[p 1 p 2 …p n ]极点行向量;k 为直项行向量。

2.4.2多项式的乘除法和微积分

1. 多项式的乘法和除法 ? 多项式的乘法 语法:

p=conv(pl,p2)

说明:p 是多项式p1和p2的乘积多项式。 ? 多项式的除法 语法:

[q,r]=deconv(pl,p2)

说明:除法不一定会除尽,会有余子式。多项式p1被p2除的商为多项式q ,而余子式是r

2. 多项式的微分和积分

? 多项式的微分由polyder 函数实现。

MATLAB 没有专门的多项式积分函数,但可以用[p./length(p):-1:1,k]的方法来完成积分, k 为常数。

2.4.3多项式拟合和插值

1. 多项式拟合

多项式曲线拟合是用一个多项式来逼近一组给定的数据,使用polyfit函数来实现。拟

合的准则是最小二乘法,即找出使

2

n

1

i

i

i

y

)

f(x

=

-最小的f(x)。

语法:

p=polyfit(x,y,n)

说明:x、y向量分别为N个数据点的横、纵坐标;n是用来拟合的多项式阶次;p为拟合的多项式,p为n+1个系数构成的行向量。

2. 插值运算

插值运算是根据数据点的规律,找到一个多项式表达式可以连接两个点,插值得出相邻数据点之间的数值。

1. 一维插值

一维插值是指对一个自变量的插值,interp1函数是用来进行一维插值的。

语法:

yi=interp1(x,y,xi,’method’)

说明:x、y为行向量;xi是插值范围内任意点的x坐标,yi则是插值运算后的对应y坐标;method是插值函数的类型,“linear”为线性插值(默认),“nearest”为用最接近的相邻点插值,“spline”为三次样条插值,“cubic”为三次插值。

2. 二维插值

二维插值是指对两个自变量的插值,interp2函数是用来进行二维插值的。

语法:

zi=interp2(x,y,z,xi,yi,’method’)

说明:method是插值函数的类型有,“linear”为双线性插值(默认),“nearest”为用最接近点插值,“cubic”为三次插值。

2.5元胞数组和结构数组

MATLAB的元胞数组(Cell Array)和结构数组(Structure Array)都能在一个数组里存放各种不同类型的数据。

2.5.1元胞数组

1. 元胞数组的创建

元胞数组中的基本组成是元胞,每一个元胞可以看成是一个单元(Cell),用来存放各种不同类型的数据。

(1) 直接使用{}创建

(2) 由各元胞创建

2. 元胞数组的内容显示

在MA TALB命令窗口中输入元胞数组的名称,并不直接显示出元胞数组的各元素内容值,而是显示各元素的数据类型和维数。

(1) 使用celldisp命令显示元胞数组的内容

(2) 使用cellplot命令以图形显示元胞数组的内容

Matlab基本语法.word

实验序号 1 Matlab基本语法 一、实验目的 通过本实验,使学生初步了解Matlab的基本语法规则,学习并进一步掌握Matlab矩阵运算和数组运算的基本规则,以及基本绘图方法。 二、实验器材 PC电脑一台 MATLAB软件 三、实验内容与基本要求 a) 通过MATLAB语言,给矩阵赋值:显示一行数组,显示一列数组。 b) 基本基本矩阵的显示方式:ones,zeros,eye。 c) 在同一张图上绘出:y=3sin(x+pi/3),y=cos(3x+pi/6),并用不同的线型和点型区分。 d) 基本二维与三维绘图命令的训练。 四、实验报告要求 要求给出编程思路及程序清单,并呈现出最终结果 1)显示一行: a=[1 2 3 3 4 5 6] 回车结果: a = 1 2 3 3 4 5 6 显示一列; a=[1 ,2 ,3 ,4 ,5] 回车显示: a= 1 2 3 4 5

2)输入ones(2,5): 输出结果: ans= 1 1 1 1 1 1 1 1 1 1 输入zeros(2,3): 输出结果: ans= 00 0 00 0 输入eye(4,4): 输出结果: ans= 10 0 0 0 1 0 0 00 1 0 00 0 1 3)在matlab中输入: x=0:0.01:10; y=3*sin(x+pi/3); plot(x,y,’:r’) hold on y=cos(3*x+pi/6) plot(x,y,’b’) 得到图形:

4) 输入程序: y=5*(rand(1,10)-.5); plot(y) title('my first plot') xlabel('x'); ylabel('y'); grid on 得到二维图形: 012345678910 -3-2 -1 1 2 3

matlab代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除内存中的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述

matlab快捷键大全

1.使用“Tab”键可以在Matlab进行命令输入时补全变量名或者命令名; 2.使用“Ctrl+C”组合键能够强制从运行的或者进入死循环的Matlab程序中退出; 3.使用“上”“下”方向键能够调用Matlab的历史命令; 4.Matlab的变量命名规则注意: a.区分大小写; b.必须以字母开头; c.中间不能有空格、标点符号等; 5.在一条命令或语句的末尾加上一个分号,则Matlab就不会在屏幕上显示这条命令计算的结果; 6.在Matlab中,“...”(3个句点)称为“续行符”,表示同一语句的延续输入; 注意:只有当续行符出现在变量名和运算符之间,才能起到语句延续的作用。出现在一个变量名中间时,是不能实现语句延续的。换句话说,变量名不能分割成两行书写。 7.在进行三角函数运算时,Matlab使用的是“弧度制”而不是“角度制”; 8.选择需要注释的语句块以后,使用“Ctrl+R”可以进行Matlab语句注释;使用“Ctrl+T”可以进行语句块的解注释; 9.Matlab数组的下标是从“1”开始的,这点与C语言不同; 1 0.使用空格和逗号隔开的元素指定的是同一行的元素,使用分号或者回车分开的元素指定的是不同行的元素。 Q1:matlab有没有监视内存的方法? A:用函数whos。 Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...

A:换matlab7的sp2。 Q3:自从安装matlab,一开机就在进程里有matlab。 能不能开机的时候进程就不运行matlab? A:开始-->控制面板-->管理工具-->服务 把MATLAB Server的属性改成“手动”就行了。 Q4:退出matlab7程序运行的快捷键。 A:ctrl+q Q5:matlab7远程控制是否有限制? A:不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。 Q6:Matlab占用资源太多怎么办? A:用matlab-nojvm启动(如果不需要图形界面)。 Q7:怎样给matlab添加新的toolbox? A:在matlab的文件菜单里边添加路径,选set path。 Q8:请问matlab有没有命令可以调出历史输入啊? A:command history窗口。 Q9:matlab7.0不能在64位的cpu下运行? A:matlab应该是依赖于自己的虚拟机的 但是好像这个虚拟机是在IA32里面作出来的,所以,应该找个带64位的java虚拟机替换原来的,不过不一定能行or so,记不清了) Q10:matlab有没有注释一段的功能? A:选中一段代码,ctrl r就是区段注释 选中一段代码,ctrl t取消区段注释

MATLAB图像操作命令大全

MATLAB常用图像操作 一. 读写图像文件 1. imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif') 注:计算机E盘上要有w01相应的.tif文件。 2. imwrite imwrite函数用于写入图像文件,如:imwrite(a,'e:\w02.tif',’tif’) 3. imfinfo imfinfo函数用于读取图像文件的有关信息,如:imfinfo('e:\w01.tif') 二. 图像的显示 1. image image函数是MATLAB提供的最原始的图像显示函数(主要彩色显示图象),如:a=[1,2,3,4;4,5,6,7;8,9,10,11,12]; image(a); 2. imshow imshow函数用于灰度图像文件的显示,如: i=imread('e:\w01.tif'); imshow(i); 3. colorbar colorbar函数用显示图像的颜色条。 通常,颜色映象进行过调节,把数据从最小扩展到最大,也就是说整个颜色映象都用于绘图。有时也许想改变颜色使用的方法。函数caxis代表颜色轴,因为颜

色增加了另一个维数,它允许对数据范围的一个子集使用整个颜色映象或者对数据的整个集合只使用当前颜色映象的一部分。 [cmin,cmax]=caxis返回映射到颜色映象中第一和最后输入项的最小和最大的数据。它们通常被设成数据的最小值和最大值。比如,函数mesh(peaks) 会画出函数peaks的网格图,并把颜色轴caxis设为[-6.5466,8.0752],即Z的最小值和最大值。这些值之间的数据点,使用从颜色映象中经插值得到的颜色。如:i=imread('e:\w01.tif'); imshow(i); colorbar; 4 .figure figure函数用于设定图像显示窗口,如:figure(1); /figure(2); 5.imagesc(a); caxis([-3 8]) ; colorbar; 标尺标度从-3,到8 显示标度尺。 三. 图像的变换 1. fft2 fft2函数用于数字图像的二维傅立叶变换,如: i=imread('e:\w01.tif'); j=fft2(i); 2. ifft2 ifft2函数用于数字图像的二维傅立叶反变换,如: i=imread('e:\w01.tif'); j=fft2(i);

第一章 基本MATLAB基本命令

MATLAB学习指南 第1章.基本MATLAB指令 1.1.基本数量运算 首先,我们来谈一谈怎样向程序中添加注释(例如此行)。注释就是我们向程序中添加的文字,用来解释我们在做什么。所以,如果我们或其他人以后读到此代码,就能很容易地理解代码在执行什么指令。在一个MATLAB文件中,如果百分号%出现在一行文字中,百分号后面的所有文字都是注释,而不是MATLAB想要进行解释的指令。首先,我们向屏幕输入信息,告诉计算机我们开始运行1.1节。 指令disp('字符串')在屏幕上展示了文本字符串。 接下来,我们令一个变量等于1。 如果x没有被声明,这一指令先为变量x在内存中分配一个空间,然后又将x的值1存储在所分配的空间中。同时,这一指令会将"x = 1"显示在屏幕上。通常,我们不希望像这样的输出结果把屏幕弄得杂乱,所以我们在指令的最后加上一个分号就可以使指令变得“不可见”。例如,我们使用下列指令把x的值“不可见地”变为2,然后将结果显示在屏幕上。x=2;x的值发生了改变,但是却没有显示在屏幕上 disp('我们已经改变了x的值'); 然后,通过输入“x”,不带分号,我们显示x的值。 现在,我们来看如何声明其它变量。 y=2*x; 对y的值进行初始化,使其等于x的值的2倍。 x=x+1;使x的值增加1。 z=2*x; 声明了另一变量z。 因为在声明变量z时x的值已经发生了变化,所以z不等于y。 接下来,我们想看存储在内存中的变量的列表。我们使用指令“who”来实现。 通过使用“whos”我们能得到更多的信息 我们也可使用这些指令来得到有关仅有的某些变量的信息。

我们想要去掉变量“差”。 使用指令“clear”来实现。 接下来,我们想要去掉变量x和y。 我们再次使用指令“clear”。 一般来说,好的程序设计模式都要求每行只编写一个指令;但是,MATLAB却允许将多个指令放在一行。 更普遍的情况是,由于语句结构的长度使得我们希望一个指令能够分成多行。这可通过使用3个点来实现。 最后,当使用指令“clear all”时,我们可一次去掉所有变量。 1.2.基本向量运算 声明一个变量最简单的,但不值得推荐的方法就是逐一输入其分量。 x显示x的值 一般来说,最好一下子声明一个变量,因为这样的话MATLAB从一开始就知道它需要分配多少内存。对于大型向量,这会更加有效。 y=[1 4 6] 与上述代码作用相同。 注意到这次声明了一个行向量。为得到一个列向量,我们或者使用转置(复合x的伴随矩阵)算符xT=x’;把实行向量x进行转置,或从一开始就将其变成列向量。 为了看到行向量和列向量在大小上的不同,使用指令“size”便可返回向量或矩阵的大小。

(完整版)Matlab基本语法教案

第二章基本语法 2.1 MATLAB的矩阵、变量与表达式 在MATLAB系统中,只管理着一种对象---矩阵(包括复数矩阵),任何数量在MATLAB 中是作为1x1的矩阵来处理的。 一、矩阵的创建: 1. 在MATLAB中创建矩阵的原则: (1) 矩阵元素必须写在“[]”内; (2) 矩阵的同一行之间用空格或“,”分隔; (3) 矩阵的行与行之间用分号或回车符分隔; (4) 矩阵的尺寸不必预先定义; (5) 矩阵元素可以是数值、变量、表达式或函数。 2. 创建矩阵的四种方法。 (1) 在命令窗口直接输入: 如输入:A=[1,2,3;4,5,6;7,8,9] 则显示:A= 1 2 3 4 5 6 7 8 9 也可用空格代替逗号,用回车代替分号: 如上例:A=[1 2 3 4 5 6 7 8 9] 则显示:A= 1 2 3 4 5 6 7 8 9 (2) 由M文件创建矩阵: 有时编程需要用M文件创建矩阵。或者当矩阵尺寸较大时,可以按矩阵的输入方式编辑一个M 文件(可用循环程序来做),在命令窗口直接执行该文件,即可将矩阵调入工作空间。 (3) 由函数创建矩阵: 对于一些特殊的矩阵,可以利用MATLAB的内部函数或用户自定义函数创建矩阵。 如diag()函数可生成对角阵。ones(m,n) ; zeros(m,n) (4) 通过数据文件创建矩阵: save 文件名(其中,文件名是*.mat文件) load 文件名例:工作目录下有temp.mat文件,可以执行load temp

3. 复数矩阵表示 (1) 复数表示 复数的虚根单位用i,j表示,即:z=3+4i或z=3+4j. 例如输入z=3+4i 输入z=3+4j 得到:得到: z = z = 3.0000 + 4.0000i 3.0000 + 4.0000i (2) 复数矩阵 A=[1 2;3 4]+i*[5 6;7 8] 或者A=[1+5i 2+6i;3+7i 4+8i],都得到: A = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i 二、MATLAB的变量和表达式 1.变量名命名规则 ?可以是字母、数字或下划线,但第一个字符必须是字母。 ?长度<=31 ?分辨大小写的,M和m是两个变量。 ?无须对变量的类型进行说明,当需要使用一个新变量时,只须直接对其赋值即可。 2.表达式则是由运算符、函数调用、变量名以及特殊字符组成的式子。 3.MATLAB中基本的赋值语句为: (1) 形式一:变量名=表达式 将表达式的结果赋给变量名(表达式的运算结果都是一个矩阵)。 (2) 形式二:表达式 计算表达式的值,将其值赋给MATLAB的永久变量ans。 上面两种形式,当表达式由分号“;”结束时,变量结果不显示。当表达式由逗号“,”或换行号结束,则将结果显示出来。 注: 1)MATLAB中有几个变量不能被clear清除,称永久变量。(其他变量名最好不要与此同)。即ans:当不指明某一语句的计算结果赋给哪个变量时,系统自动将该计算结果赋给ans; eps:计算机能产生的绝对值最小的浮点数;

matlab常用命令

matlab常用命令 1.Patch [1,1,1]表示白色; 2.潮汐椭圆:ECC为短轴与长轴的比率;负值表示椭圆逆时针旋转; INC表示东方向与主轴 的夹角,PHA表示与最小流时间有关. 3.textread (%n)表示读入数据,并转换为双精度数据. 4.[x,y]=ginput(2); [lon,lat]=m_xy2ll(x,y) 以上命令表示在地图上任意点两点,返回该点的经纬度值。 5.matlab保存图像:print(土星句柄,存储格式,文件名) png格式-png 推荐一种,与bmp一样清晰; jpeg:-djpeg 文件小,较清晰; tiff:-dtiff bmp -dbitmap 清晰,文件大 gif -dgif 文件小,不清晰 A a abs 绝对值、模 acos 反余弦 acosh 反双曲余弦 acot 反余切 acoth 反双曲余切 acsc 反余割 acsch 反双曲余割 align 启动图形对象几何位置排列工具 all 所有元素非零为真 angle 相角 ans 表达式计算结果的缺省变量名 any 所有元素非全零为真 area 面域图 argnames 函数M文件宗量名 asec 反正割 asech 反双曲正割 asin 反正弦 asinh 反双曲正弦 assignin 向变量赋值 atan 反正切 atan2 四象限反正切 atanh 反双曲正切 autumn 红黄调秋色图阵 axes 创建轴对象的低层指令 axis 控制轴刻度和风格的高层指令

B b bar 二维直方图 bar3 三维直方图 bar3h 三维水平直方图 barh 二维水平直方图 base2dec X进制转换为十进制 bin2dec 二进制转换为十进制 blanks 创建空格串 bone 蓝色调黑白色图阵 box 框状坐标轴 break while 或for 环中断指令 brighten 亮度控制 C c capture (3版以前)捕获当前图形 cart2pol 直角坐标变为极或柱坐标 cart2sph 直角坐标变为球坐标 cat 串接成高维数组 caxis 色标尺刻度 cd 指定当前目录 cdedit 启动用户菜单、控件回调函数设计工具cdf2rdf 复数特征值对角阵转为实数块对角阵ceil 向正无穷取整 cell 创建元胞数组 cell2struct 元胞数组转换为构架数组 celldisp 显示元胞数组内容 cellplot 元胞数组内部结构图示 char 把数值、符号、内联类转换为字符对象chi2cdf 分布累计概率函数 chi2inv 分布逆累计概率函数 chi2pdf 分布概率密度函数 chi2rnd 分布随机数发生器 chol Cholesky分解 clabel 等位线标识 cla 清除当前轴 class 获知对象类别或创建对象 clc 清除指令窗 clear 清除内存变量和函数 clf 清除图对象 clock 时钟 colorcube 三浓淡多彩交叉色图矩阵 colordef 设置色彩缺省值 colormap 色图

MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

matlab中的矩阵的基本运算命令

1.1 矩阵的表示 1.2 矩阵运算 1.2.14 特殊运算 1.矩阵对角线元素的抽取 函数diag 格式X = diag(v,k) %以向量v的元素作为矩阵X的第k条对角线元素,当k=0时,v为X的主对角线;当k>0时,v为上方第k条对角线;当k<0时,v为下方第k条对角线。 X = diag(v) %以v为主对角线元素,其余元素为0构成X。 v = diag(X,k) %抽取X的第k条对角线元素构成向量v。k=0:抽取主对角线元素;k>0:抽取上方第k条对角线元素;k<0抽取下方第k条对角线元素。 v = diag(X) %抽取主对角线元素构成向量v。 2.上三角阵和下三角阵的抽取 函数tril %取下三角部分 格式L = tril(X) %抽取X的主对角线的下三角部分构成矩阵L L = tril(X,k) %抽取X的第k条对角线的下三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。函数triu %取上三角部分 格式U = triu(X) %抽取X的主对角线的上三角部分构成矩阵U U = triu(X,k) %抽取X的第k条对角线的上三角部分;k=0为主对角线;k>0为主对角线以上;k<0为主对角线以下。3.矩阵的变维 矩阵的变维有两种方法,即用“:”和函数“reshape”,前者主要针对2个已知维数矩阵之间的变维操作;而后者是对于一个矩阵的操作。 (1)“:”变维 (2)Reshape函数变维 格式 B = reshape(A,m,n) %返回以矩阵A的元素构成的m×n矩阵B B = reshape(A,m,n,p,…) %将矩阵A变维为m×n×p×… B = reshape(A,[m n p…]) %同上 B = reshape(A,siz) %由siz决定变维的大小,元素个数与A中元素个数 相同。 (5)复制和平铺矩阵 函数repmat 格式 B = repmat(A,m,n) %将矩阵A复制m×n块,即B由m×n块A平铺而成。 B = repmat(A,[m n]) %与上面一致 B = repmat(A,[m n p…]) %B由m×n×p×…个A块平铺而成 repmat(A,m,n) %当A是一个数a时,该命令产生一个全由a组成的m×n矩阵。 1.3 矩阵分解 1.3.1 Cholesky分解 函数chol 格式R = chol(X) %如果X为n阶对称正定矩阵,则存在一个实的非奇异上三角阵R,满足R'*R = X;若X非正定,则产生错误信息。 [R,p] = chol(X) %不产生任何错误信息,若X为正定阵,则p=0,R与上相同;若X非正定,则p为正整数,R是有序的上三角阵。 1.3.2 LU分解

实验二 MATLAB基本语法(1)

实验二 MATLAB基本语法(1) (变量及其赋值,运算符与数学表达式) 1、实验目的 1)掌握MATLAB的变量及其赋值方法; 2)掌握MATLAB的运算符与数学表达式的基本用法; 2、实验内容 2.1 矩阵及其元素的赋值 2.1.1 变量(即矩阵,下同)的赋值 x1=[1 2 3 4] % 空格作为元素间分隔符 x2=[5,6,7,8] % 逗号作为元素间分隔符 x3=[1,2;3,4;5,6] % 分号作为矩阵行分界符 x4=[2*3,4-5,3^2] % 表达式为矩阵元素赋值 2.1.2 变量名 A=[1,2,3,4,5] a=[1 2 3 4 5] B=a+A % a和A不是同一个变量 2.1.3 元素的标注 w=[1 2 3 4;4 5 6 7;7 8 9 10] w(2,3) % 查看第2行、第3列的结果,注意下标从1开始 2.1.4 矩阵的扩充 w(5,6)=1.2345 % 为原矩阵不存在的元素赋值,矩阵扩充到能容纳该元素

2.1.5 整行(列)赋值 w(4,:)=[1,2,3,4,5,6] % (4,:)表示第4行的所有元素 w(:,6)=[5;6;7;8;9] % (:,6)表示第6列的所有元素 2.1.6 整行清除: w([4,5],:)= [] % 第4,5行变为空矩阵 2.1.7 矩阵的拼接 X1=[1,1,1; 2,2,2];X2=[3,3; 4,4];X3=[5;5];X4=[6,6,6,6; 7,7,7,7] XX=[X1,X2;X3,X4] % 矩阵拼接。注意按行对齐进行拼接 2.1.8 抽取部分 X =[1,2,3,4,5;6,7,8,9,0;3,3,3,3,3;4,4,4,4,4;5,5,5,5,5] Y1=X([1,2,5],[2,4]) Y2=X([2,4],[1,2,3]) 2.1.9 等间隔赋值 ii=0:1:10 % 格式为初值:步长:终值 2.1.10 特殊矩阵和数组 a=eye(3,4) % 单位矩阵 b=eye(size(a)) % 单位矩阵 c=size(a) % 测矩阵的大小 d=zeros(3) % 零矩阵 e=zeros(2,4) % 零矩阵 f=ones(4) % 全1矩阵 h=ones(3,4) % 全1矩阵 C=rand(3) % 均匀分布随机矩阵 C=rand(3,5) % 均匀分布随机矩阵 D=randn(3) % 正态分布随机矩阵(均值=0,方差=1) D=randn(3,6) % 正态分布随机矩阵(均值=0,方差=1)

MATLAB常用指令

MATLAB常用指令 1.常用命令-->管理命令和函数 addpath 添加目录到MATLAB搜索路径 doc 在Web浏览器上现实HTML文档 help 显示Matlab命令和M文件的在线帮助 helpwin helpdesk help lookfor 在基于Matlab搜索路径的所有M文件中搜索关键字partialpath 部分路径名 path 所有关于路径名的处理 pathtool 一个不错的窗口路径处理界面 rmpath 删除搜索路径中指定目录 type 显示指定文件的内容 ver 版本信息 version 版本号 web 打开web页 what 列出当前目录吓所有的M文件Mat文件和Mex文件whatsnew 显示readme文件 which 显示文件位置 (返回) 2.常用命令-->管理变量和工作区(输入输出、内存管理等) clear 从内存中删除 disp 显示文本或数组内容 length 数组长度(最长维数) load 重新载入变量(从磁盘上) mlock 锁定文件,防止文件被错误删除 munlock 解锁文件 openvar 在数组编辑器中打开变量 pack 整理内存空间 save 保存变量到文件8*) size 数组维数 who 列出内存变量 whos 列出内存变量,同时显示变量维数 workspace 显示工作空间窗口 (返回) 3.常用命令-->管理命令控制窗口(command窗口) clc 清空命令窗口 echo 禁止或允许显示执行过程 format 设置输出显示格式 home 光标移动到命令窗口左上角 more 设置命令窗口页输出格式 (返回)

MATLAB命令大全DOC

一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。 3、功能键: 功能键——快捷键——说明 方向上键——Ctrl+P——返回前一行输入 方向下键——Ctrl+N——返回下一行输入 方向左键——Ctrl+B——光标向后移一个字符 方向右键——Ctrl+F——光标向前移一个字符 Ctrl+方向右键Ctrl+R——光标向右移一个字符 Ctrl+方向左键Ctrl+L——光标向左移一个字符 home ——Ctrl+A——光标移到行首 End——Ctrl+E——光标移到行尾 Esc——Ctrl+U——清除一行 Del——Ctrl+D——清除光标所在的字符 Backspace——Ctrl+H——删除光标前一个字符———— Ctrl+K——删除到行尾—— —— Ctrl+C——中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减,*:乘,/:除, \:左除^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( )正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度)

acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数) log( ) 自然对数 acos( ) 余正弦(返回弧度) log10( ) 以10为底对数 acosd( ) 余正弦(返回度数) sqrt( ) 开方 tan( ) 正切(变量为弧度) realsqrt( ) 返回非负根 tand( ) 正切(变量为度数)—— abs( ) 取绝对值复数的模 atan( ) 反正切(返回弧度) angle( ) 返回复数的相位角 atand( ) 反正切(返回度数)—— mod(x,y) 返回x/y的余数 sum( ) 向量元素求和 3、其余函数可以用help elfun和help specfun命令获得。 4、常用常数的值: pi——3.1415926…….—— realmin——最小浮点数,2^-1022 i——虚数单位—— realmax 最大浮点数,(2-eps)2^1022 j——虚数单位—— Inf——无限值 eps——浮点相对经度=2^-52——

matlab常见操作123

1.示波器图像导出处理 1)仿真用示波器查看 2)matlab命令框中输入: shh = get(0,'ShowHiddenHandles'); set(0,'ShowHiddenHandles','On') set(gcf,'menubar','figure') set(gcf,'CloseRequestFcn','closereq') set(gcf,'DefaultLineClipping','Off') set(0,'ShowHiddenHandles',shh) 图片的菜单就出来了。。。 3)在edit菜单中编辑波形 4)edit-copy figure复制波形到word文档。 2.在matlab命令窗口里,在语句行尾加上三个英文句号表示续行; 运算符=、+、-前后的空格不影响计算结果; 在输入命令后以分号结束,则不会显示命令执行结果,但可使程序运行速度大大提高,这对大量输出数据的成句特别有用; 可用Ctrl+c键来终止正在运行的程序。 3.启动matlab默认窗口设置 Desktop Layout—>Default,则四个小窗口则按系统默认的布局显示。 Save Layout保存布局显示 4.运行matlab语句或程序时有三种方式: 1)在已安装的Notebook 的Word窗口的英语输入状态下,输入matlab语句或程序,用鼠标左键将其选中,然后点击Notebook——>Evaluate Cell,即为程序的Notebook执行方式。计算的数据与绘图都保留在word环境里。 2)在matlab命令窗口中直接输入指令或语句并按回车键运行。 3)程序文件执行方式:在“Untitled”模型文件窗口中输入程序并以某文件名存盘,然后在matlab命令窗口中输入改文件名,按回车执行该程序。计算的数据保存在matlab的命令窗口中,如有绘图,则另弹出figure画面。常用在程序中有带鼠标操作或绘制多条曲线或使用人机交互指令时。 4.在命令窗口输入命令语句时,若语句后不跟分号,按回车后则执行该条语句并且显示结果;若跟分号后按回车键,则只执行语句不显示执行后结果。 5.在命令窗口输入clear或clc按回车键则清除前面所有命令,对于matlab(R2009a)则输入clc.

MATLAB命令大全

MATLAB命令大全 管理命令和函数 help:在线帮助文件 doc:装入超文本说明 what:M、MAT、MEX文件的目录列表 type:列出M文件 lookfor:通过help条目搜索关键字 which:定位函数和文件 demo:运行演示程序 path:控制MATLAB的搜索路径 Ctrl+Pause Break:退出死循环 管理变量和工作空间 Who:列出当前变量 Whos:列出当前变量(长表) Load:从磁盘文件中恢复变量

Save:保存工作空间变量 Clear:从内存中清除变量和函数 Pack:整理工作空间内存 Size:矩阵的尺寸 Length:向量的长度 Disp:显示矩阵或 与文件和操作系统有关的命令 Cd:改变当前工作目录 Dir:目录列表 Delete:删除文件 Getenv:获取环境变量值 !:执行DOS操作系统命令 Unix:执行UNIX操作系统命令并返回结果Diary:保存MATLAB任务 控制命令窗口

Cedit:设置命令行编辑 Clc:清命令窗口 Home:光标置左上角 Format:设置输出格式 Echo:底稿文件内使用的回显命令 More:在命令窗口中控制分页输出 启动和退出MATLAB Quit:退出MATLAB Startup:引用MATLAB时所执行的M文件Matlabrc:主启动M文件 一般信息 Info:MATLAB系统信息及Mathworks公司信息Subscribe:成为MATLAB的订购用户Hosted:MATLAB主服务程序的识别代号Whatsnew:在说明书中未包含的新信息

Ver:版本信息 操作符和特殊字符 + 加 —减 * 矩阵乘法 .* 数组乘法 ^ 矩阵幂 .^ 数组幂 \ 左除或反斜杠 / 右除或斜杠 ./ 数组除 Kron Kronecker张量积: 冒号 ( ) 圆括号 [ ] 方括号

Matlab实用操作指令

matlab编辑器的快捷键 在编辑器(Editor>中: 1> 【Tab】<或【Ctrl+]】)――增加缩进<对多行有效) 2> 【Ctrl+[】--减少缩进<对多行有效) 3> 【Ctrl+I】--自动缩进<即自动排版,对多行有效) 4> 【Ctrl+R】――注释<对多行有效) 5> 【Ctrl+T】――去掉注释<对多行有效) 6> 【Ctrl+B】――括号配对检查<对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过) 7> 【F12】――设置或取消断点 8> 【F5】――运行程序 matlab命令 一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。 !dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键 Ctrl+P 返回前一行输入 方向下键 Ctrl+N 返回下一行输入 方向左键 Ctrl+B 光标向后移一个字符 方向右键 Ctrl+F 光标向前移一个字符 Ctrl+方向右键 Ctrl+R 光标向右移一个字符 Ctrl+方向左键 Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减, *:乘, /:除, \:左除 ^:幂,‘:复数的共轭转置, <):制定运算顺序。2、常用函数表: sin( > 正弦<变量为弧度) Cot( > 余切<变量为弧度) sind( > 正弦<变量为度数)

2第二章 Matlab基本语法

第二章 Matlab 基本语法(一般性操作) §1矩阵和数组的操作Ⅰ——创建 保存 调用 概述:矩阵是线性代数的基本运算单元,通常矩阵是含有M 行和N 列数值的矩形结构。其元素可以是实数或复数,因而可将矩阵分为实数矩阵和复数矩阵。 MATLAB 支持线性代数所定义的全部矩阵运算。软件的优势在于快捷和轻松的处理整个矩阵。通过一定的转化方法,可以将一般的数学运算转化成相应矩阵运算来处理。 在MATLAB 中把数据分为标量、矢量、矩阵和列阵。列阵指多维数组,是一大概念,在列阵中,一维数组是矢量,二维数组即为矩阵。当然,我们也可杷标量看作仅有一行一列的矩阵,把矢量看作仅有一列或一行的矩阵。 一、知识背景 1. n m ? 阶矩阵,记作n m A ?或n m ij a ?)( 如:??? ?????????mn m m n n a a a a a a a a a 212222111211 ,为m 行n 列矩阵 2. 数组:可看成是单行或单列矩阵。 3. 同型矩阵:二矩阵行数和列数相同,如n m n m B A ??,。 4. 特殊矩阵:见矩阵创建3。 二、矩阵的创建 1. 直接输入法:用指令产生数值矩阵 矩阵首尾以 [ ] 括起; 同一行中元素用逗号“,”或空格隔开; 行与行之间必须用分号“;”或按Enter 键分隔。 矩阵元素可以是数字也可以是表达式,表达式中变量必须定义。 例1:创建矩阵:? ? ? ???=6 5 43 2 1a

>> a=[1,2,3;4,5,6] a = 1 2 3 4 5 6 例2:>> x=9,y=pi/6; % 定义x ,y 变量 >> A=[3,5,sin(y);cos(y),x^2,7;x/2,5,1] % 产生矩阵A A = 3.0000 5.0000 0.5000 0.8660 81.0000 7.0000 4.5000 5.0000 1.0000 说明:%作为注释的开始标志,以后的文字不影响计算过程。 练习一: 1-1 创建矩阵:? ? ? ???=6 4 25 3 1A 1-2 创建矩阵:?? ????=sin(y) )cos(os(y) sin(x) x c B ,其中x=π/4,y=π/3。 >> x=pi/4,y=pi/3; x = 0.7854 >> B=[sin(x),cos(y);cos(x),sin(y)] B = 0.7071 0.5000 0.7071 0.8660 2. 矩阵编辑器(Matrix Editor ): (1)首先在工作区定义一个变量,可以是一简单矩阵或数字。 (2)单击工具栏的工作区浏览器(work spase browser )。弹出变量浏览器,显示各变量信息。 或单击View/ work space 弹出变量浏览器,显示各变量信息。 (3)选中所定义变量,左键双击,或单击右键,在点击“open ”,打开矩阵编辑器。也可左键单击工具按钮 ,打开矩阵编辑器。

MATLAB操作命令大全

m a t l a b命令 一、常用对象操作:除了一般w i n d o w s窗口的常用功能键外。 1、!d i r可以查看当前工作目录的文件。!d i r&可以在d o s状态下查看。 2、w h o可以查看当前工作空间变量名,w h o s可以查看变量名细节。 3、功能键:功能键快捷键说明方向上键C t r l+P返回前一行输入方向下键C t r l+N返回下一行输入方向左键C t r l+B光标向后移一个字符方向右键C t r l+F光标向前移一个字符C t r l+方向右键C t r l+R光标向右移一个字符C t r l+方向左键C t r l+L光标向左移一个字符h o m e C t r l+A光标移到行首E n d C t r l+E光标移到行尾E s c C t r l+U清除一行D e l C t r l+D清除光标所在的字符

B a c k s p a c e C t r l+H删除光标前一个字符 ?C t r l+K删除到行尾?C t r l+C中断正在执行的命令 4、c l c可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符:+:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表:s i n()正弦(变量为弧度)C o t()余切(变量为弧度)s i n d()正弦(变量为度数)C o t d()余切(变量为度数)a s i n()反正弦(返回弧度)a c o t()反余切(返回弧度)A s i n d()反正弦(返回度数)a c o t d()反余切(返回度数)

MATLAB中SIMULINK常用命令表

simulink的命令集 仿真命令 sim 仿真运行一个simulink模块 sldebug 调试一个simulink模块 simset 设置仿真参数 simget 获取仿真参数 线性化和整理命令 linmod 从连续时间系统中获取线性模型 linmod2 也是获取线性模型,采用高级方法 dinmod 从离散时间系统中获取线性模型 trim 为一个仿真系统寻找稳定的状态参数 构建模型命令 open_system 打开已有的模型 close_system 关闭打开的模型或模块 new_system 创建一个新的空模型窗口 load_system 加载已有的模型并使模型不可见 save_system 保存一个打开的模型 add_block 添加一个新的模块 add_line 添加一条线(两个模块之间的连线) delete_block 删除一个模块 delete_line 删除一根线 find_system 查找一个模块 hilite_system 使一个模块醒目显示 replace_block 用一个新模块代替已有的模块 set_param 为模型或模块设置参数 get_param 获取模块或模型的参数 add_param 为一个模型添加用户自定义的字符串参数delete_param 从一个模型中删除一个用户自定义的参数bdclose 关闭一个simulink窗口 bdroot 根层次下的模块名字 gcb 获取当前模块的名字 gcbh 获取当前模块的句柄 gcs 获取当前系统的名字 getfullname 获取一个模块的完全路径名 slupdate 将1.x的模块升级为3.x的模块 addterms 为未连接的端口添加terminators模块 boolean 将数值数组转化为布尔值 slhelp simulink的用户向导或者模块帮助 封装命令 hasmask 检查已有模块是否封装 hasmaskdlg 检查已有模块是否有封装的对话框 hasmaskicon 检查已有模块是否有封装的图标 iconedit 使用ginput函数来设计模块图标 maskpopups 返回并改变封装模块的弹出菜单项

相关文档
最新文档