Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

MATLAB 运算符和特殊字符

此页面包含所有 MATLAB® 运算符、符号和特殊字符的完整列表。

算术运算符

符号角色更多信息
+

加法

plus
+

一元加法

uplus
-

减法

minus
-

一元减法

uminus
.*

按元素乘法

times
*

矩阵乘法

mtimes
./

按元素右除

rdivide
/

矩阵右除

mrdivide
.\

按元素左除

ldivide
\

矩阵左除

(也称为反斜杠

mldivide
.^

按元素求幂

power
^

矩阵幂

mpower
.'

转置

transpose
'

复共轭转置

ctranspose

关系运算符

符号角色更多信息
==

等于

eq
~=

不等于

ne
>

大于

gt
>=

大于或等于

ge
<

小于

lt
<=

小于或等于

le

逻辑运算符

符号角色更多信息
&

计算逻辑 AND

and
|

计算逻辑 OR

or
&&

计算逻辑 AND(具有短路功能)

Short-Circuit AND
||

计算逻辑 OR(具有短路功能)

Short-Circuit OR
~

计算逻辑 NOT

not

特殊字符

@

名称:at 符号

用法

  • 函数句柄构造和引用

  • 调用超类方法

描述@ 符号可为跟在 @ 符号后面的命名函数或跟在 @ 符号后面的匿名函数构造函数句柄。您也可以使用 @ 从子类中调用超类方法。

示例

创建命名函数的函数句柄:

fhandle = @myfun

创建匿名函数的函数句柄:

fhandle = @(x,y) x.^2 + y.^2;

从子类中调用 MySuperdisp 方法:

disp@MySuper(obj)

使用正在构造的对象从子类中调用超类构造函数:

obj = obj@MySuper(arg1,arg2,...)

更多信息

.

名称:句点或点

用法

  • 小数点

  • 按元素运算

  • 结构体字段访问

  • 对象属性或方法设定符

描述:句点字符可分隔一个数(例如 3.1415)的整数部分和小数部分。包含句点的 MATLAB 运算符会始终按元素执行运算。通过句点字符,还可以访问结构体中的字段以及对象的属性和方法。

示例

小数点:

102.5543

按元素运算:

A.*B
A.^2

结构体字段访问:

myStruct.f1

对象属性设定符:

myObj.PropertyName

更多信息

...

名称:三个点或省略号

用法:续行

描述:行末尾的三个或更多个句点表示当前命令延续到下一行。如果行末尾之前存在三个或更多个句点,则 MATLAB 会忽略该行的其余部分而直接延续到下一行。这实际上相当于将当前行上三个句点之后的任何内容作为注释。

注意

MATLAB 将省略号解释为空格字符。因此,多行命令与将省略号替换为空格字符的单行命令等效。

示例

将函数调用延续到下一行:

sprintf(['The current value '...
'of %s is %d'],vname,value)

在多行上分解字符向量并将这些行串联在一起:

S = ['If three or more periods occur before the '...
    'end of a line, then the rest of that line is ' ...
    'ignored and MATLAB continues to the next line']

要将多行命令中的一行注释掉,请在该行的开头使用 ... 以确保命令保持完整。如果您使用 % 将某一行注释掉,则会产生错误:

y = 1 +...
    2 +...
  % 3 +...
    4;

但是,以下代码可正常运行,因为第三行不会在命令中产生间断。

y = 1 +...
    2 +...
... 3 +...
    4;

更多信息

,

名称:逗号

用法:分隔符

描述:使用逗号可分隔数组中的行元素、数组下标、函数输入和输出参数以及同一行中输入的命令。

示例

分隔行元素以创建数组:

A = [12,13; 14,15]

分隔下标:

A(1,2)

分隔函数调用中的输入和输出参数:

[Y,I] = max(A,[],2)

分隔同一行中的多个命令(显示输出):

figure, plot(sin(-pi:0.1:pi)), grid on

更多信息

:

名称:冒号

用法

  • 创建向量

  • 索引

  • For 循环迭代

描述:使用冒号运算符可创建等间距向量、对数组进行索引以及定义 for 循环的边界。

示例

创建向量:

x = 1:10

创建以 3 为单位递增的向量:

x = 1:3:19

将矩阵重构为列向量:

A(:)

分配新元素而不更改数组的形状:

A = rand(3,4);
A(:) = 1:12;

对特定维度中某个范围的元素进行索引:

A(2:5,3)

对特定维度中的所有元素进行索引:

A(:,3)

for 循环边界:

x = 1;
for k = 1:25
    x = x + x^2;
end

更多信息

;

名称:分号

用法

  • 表示行尾

  • 禁止代码行输出

描述:使用分号可分隔数组创建命令中的各行,也可禁止代码行的输出显示。

示例

分隔各行以创建数组:

A = [12,13; 14,15]

禁止代码输出:

Y = max(A);

在单行中分隔多个命令(隐藏输出):

A = 12.5;  B = 42.7,  C = 1.25;
B =
   42.7000

更多信息

( )

名称:圆括号

用法

  • 运算符优先级

  • 括起函数参数

  • 索引

描述:使用圆括号可指定运算优先级、括住函数输入参数以及对数组进行索引。

示例

运算优先级:

(A.*(B./C)) - D

括起函数参数:

plot(X,Y,'r*')
C = union(A,B)

索引:

A(3,:)
A(1,2)
A(1:5,1)

更多信息

[ ]

名称:方括号

用法

  • 数组构造

  • 数组串联

  • 空矩阵和数组元素删除

  • 多输出参数赋值

描述:方括号可以构造和串联数组、创建空矩阵、删除数组元素以及捕获函数返回的值。

示例

构造三元素向量:

X = [10 12 -3]

在矩阵底部添加新的一行:

A = rand(3);
A = [A; 10 20 30]

创建空矩阵:

A = []

删除矩阵列:

A(:,1) = []

从函数捕获三个输出参数:

[C,iA,iB] = union(A,B)

更多信息

{ }

名称:花括号

用法:元胞数组赋值和内容

描述:使用花括号可构造元胞数组,也可访问元胞数组中特定元胞的内容。

示例

要构造元胞数组,请将数组的所有元素括在花括号中:

C = {[2.6 4.7 3.9], rand(8)*6, 'C. Coolidge'}

通过将所有索引括在花括号中来对特定元胞数组元素进行索引:

A = C{4,7,2}

更多信息

%

名称:百分号

用法

  • 注释

  • 转换设定符

描述:百分号最常用于指示程序主体中不可执行的文本。此文本通常的作用是在代码中加入注释。

某些函数还将百分号解释为转换设定符。

根据创建和运行代码节中的描述,两个百分号 %% 用作元胞分隔符。

示例

在代码块中添加注释:

% The purpose of this loop is to compute
% the value of ...

将转换设定符与 sprintf 结合使用:

sprintf('%s = %d', name, value)

更多信息

%{ %}

名称:百分号加花括号

用法:块注释

描述%{%} 符号将超出一行的注释块括起来。

注意

除空白字符之外,%{%} 运算符必须在帮助文本块之前和之后另起一行,单独显示。不要在这些行中包括任何其他文本。

示例

用百分号后跟左花括号或右花括号将多行注释括起来:

%{
The purpose of this routine is to compute
the value of ... 
%}

更多信息

!

名称:感叹号

用法:操作系统命令

描述:感叹号位于要从 MATLAB 内部执行的操作系统命令的前面。

MATLAB Online™ 中不可用。

示例

感叹号启动 shell 转义函数。此类函数将直接由操作系统执行:

!rmdir oldtests

更多信息

?

名称:问号

用法:MATLAB 类的元类

描述:问号可检索特定类名的 meta.class 对象。? 运算符仅适用于类名而不是对象。

示例

检索类 inputParser 的 meta.class 对象:

?inputParser

更多信息

''

名称:单引号

用法:字符数组构造符号

描述:使用单引号可创建 char 类的字符向量。

示例

创建字符向量:

chr = 'Hello, world'

更多信息

""

名称:双引号

用法:字符串构造符号

描述:使用双引号可创建 string 类的字符串标量。

示例

创建字符串标量:

S = "Hello, world"

更多信息

N/A

名称:空格字符

用法:分隔符

描述:使用空格字符可分隔数组构造符号内的行元素,也可分隔函数返回的值。在这些上下文中,空格字符和逗号是等效的。

示例

分隔行元素以创建数组:

% These statements are equivalent
A = [12 13; 14 15]
A = [12,13; 14,15]

分隔函数调用中的输出参数:

% These statements are equivalent
[Y I] = max(A)
[Y,I] = max(A)
N/A

名称:换行符

用法:分隔符

描述:使用换行符分隔数组构造语句中的多个行。在这种情况下,换行符和分号是等效的。

示例

在数组创建命令中分隔行:

% These statements are equivalent
A = [12 13
     14 15]
A = [12 13; 14 15]
~

名称:波浪号

用法

  • 逻辑非

  • 参数占位符

描述:使用波浪号可表示逻辑非,也可禁止特定输入或输出参数。

示例

计算矩阵的逻辑 NOT:

A = eye(3);
~A

确定 A 的元素在哪些位置不等于 B 的元素:

A = [1 -1; 0 1]
B = [1 -2; 3 2]
A~=B

仅返回 union 的第三个输出值:

[~,~,iB] = union(A,B)

更多信息

=

名称:等号

用法:赋值

描述:使用等号可为变量赋值。语法 B = A 用于将 A 的元素存储在变量 B 中。

注意

= 字符用于赋值,而 == 字符用于比较两个数组中的元素。有关详细信息,请参阅 eq

示例

创建矩阵 A。将 A 中的值赋给新变量 B。最后,将一个新值赋给 B 中的第一个元素。

A = [1 0; -1 0];
B = A;
B(1) = 200;
< &

名称:左尖括号和 & 符号

用法:指定超类

描述:在类定义中指定一个或多个超类

示例

定义从一个超类派生的类:

classdef MyClass < MySuperclass
   …
end

定义从多个超类派生的类:

classdef MyClass < Superclass1 & Superclass2 & …
   …
end

更多信息

.?

名称:点问号

用法:指定名称-值结构体的字段

描述

使用函数参数验证时,可以将名称-值结构体的字段定义为类的所有可写属性的名称。

示例

propArgs 结构体的字段名称指定为 matlab.graphics.primitive.Line 类的可写属性。

function f(propArgs)
    arguments
        propArgs.?matlab.graphics.primitive.Line
    end
    % Function code
    ...
end

更多信息

字符串和字符格式化

某些特殊字符只能在字符向量或字符串的文本中使用。您可以使用这些特殊字符来插入换行符或回车符、指定文件夹路径以及执行更多操作。

使用下表中的特殊字符可通过字符向量或字符串来指定文件夹路径。

/

\

名称:斜杠和反斜杠

用法:文件或文件夹路径分隔

描述:除了用作数学运算符以外,斜杠和反斜杠字符还可分隔路径或文件夹的元素。在基于 Microsoft® Windows® 的系统上,斜杠和反斜杠具有相同的效果。在基于 The Open Group UNIX® 的系统上,只能使用斜杠。

示例

在 Windows 系统上,您可以使用反斜杠或斜杠:

dir([matlabroot '\toolbox\matlab\elmat\shiftdim.m'])
dir([matlabroot '/toolbox/matlab/elmat/shiftdim.m'])

在 UNIX 系统上,只能使用正斜杠:

dir([matlabroot '/toolbox/matlab/elmat/shiftdim.m'])

..

名称:二连点

用法:父文件夹

描述:连续的两个点表示当前文件夹的父文件夹。使用此字符可指定相对于当前文件夹的文件夹路径。

示例

要在文件夹树中上移两层进入 test 文件夹,请使用:

cd ..\..\test

更多信息

*

名称:星号

用法:通配符

描述:除了用作矩阵乘法的符号以外,星号 * 还可用作通配符。

通配符一般用于对多个文件或文件夹执行的文件操作。MATLAB 会精确匹配名称中的所有字符,但通配符 * 除外,该字符可以与任何一个或多个字符匹配。

示例

查找名称以 january_ 开头并且文件扩展名为 .mat 的所有文件:

dir('january_*.mat')

@

名称:at 符号

用法:类文件夹指示符

描述@ 符号指示类文件夹的名称。

示例

表示类文件夹:

\@myClass\get.m

更多信息

+

名称:加

用法:包目录指示符

描述+ 符号指示包文件夹的名称。

示例

包文件夹始终以 + 字符开头:

+mypack
+mypack/pkfcn.m  % a package function
+mypack/@myClass % class folder in a package

更多信息

您无法将某些特殊字符作为普通文本输入,必须使用具有唯一性的字符序列来表示它们。您可单独使用下表中的符号或结合格式设置函数(如 composesprintferror)来设置字符串和字符向量的格式。有关详细信息,请参阅格式化文本

符号文本效果
''

单引号

%%

单个百分号

\\

单个反斜杠

\a

警报

\b

退格符

\f

换页符

\n

换行符

\r

回车符

\t

水平制表符

\v

垂直制表符

\xN

十六进制数 N

\N

八进制数 N

相关主题