MATLAB运算符

本文概述

  • MATLAB算术运算符
  • 算术运算符和数组
  • MATLAB关系运算符
  • 关系运算符和数组
  • MATLAB逻辑运算符
  • 位智能运算符
  • 短路操作员
  • MATLAB特殊字符
  • MATLAB字符串和字符格式特殊字符
运算符是一个符号, 告诉编译器执行各种数字或逻辑操作。 MATLAB设计为主要在整个矩阵和数组上运行。因此, MATLAB中的函数可用于标量和非标量数据。
MATLAB具有几种类型的运算符, 符号和特殊字符, 用于处理变量, 函数和算术运算。
MATLAB算术运算符算术运算符有助于执行简单的算术运算, 例如加法, 减法, 乘法, 除法和幂。
Symbol Role Corresponding function
+ Addition plus
+ 一元加 uplus
Subtraction minus
一元减 uminus
.* Element-wise multiplication times
* 矩阵乘法 mtimes
./ 按元素划分右 rdivide
.\ 按元素左划分 ldivide
/ 矩阵右除法 mrdivide
\ 矩阵左除法 mldivide
.^ Element-wise power power
^ Matrix power mpower
.’ Transpose transpose
复共轭转置 ctranspose
算术运算符和数组除某些矩阵运算符外, MATLAB算术运算符还处理具有相等维数的数组的相应函数。对于向量和矩形数组, 除非一个是标量, 否则两个操作数的大小必须相等。如果一个操作数是标量, 而另一个不是, 则MATLAB将标量应用于另一操作数的每一项, 此属性称为标量扩展。
本示例使用标量扩展来评估标量操作数与矩阵的乘积。
A = magic (3) A = 816 357 492 3 * A ans=243189152112276

MATLAB关系运算符关系运算符执行值比较操作。
Symbol Role 对应功能
== Equal to eq
~= 不等于 ne
> 比… 更棒 gt
> = 大于或等于 ge
< 小于lt
< = 小于或等于 le
关系运算符和数组MATLAB关系运算符比较具有相等维数的数组的相应组件。关系运算符始终按元素进行操作。在此示例中, 结果矩阵存在, 其中A的元素等于B的相应部分。
A = [2 7 6; 9 0 5; 3 0.5 6]; B = [8 7 0; 3 2 5; 4 -1 7]; A == B ans = 010 001 000

对于向量和矩形数组, 除非一个是标量, 否则两个操作数的大小必须相同。在这种情况下, 其中一个操作数是标量, 而另一个不是标量, MATLAB将针对另一个操作数的每个元素测试标量。特定关系为真的位置接收逻辑1。关系为假的位置接收逻辑0。
MATLAB逻辑运算符逻辑运算符执行逻辑运算, 并分别使用数字1和0以布尔状态true或false输出结果。
MATLAB提供了三种类型的逻辑运算符和函数:
  • 元素级:它适用于逻辑数组的相应元素。
  • 按位:它适用于整数值或数组的相应位。
  • 短路:它适用于标量, 逻辑表达式。
由MATLAB逻辑运算符和函数返回的值(按位函数除外)属于逻辑类型, 适合与逻辑索引一起使用。
明智的运算符和函数
以下逻辑运算符和函数在其输入上执行按元素进行逻辑运算, 以生成大小相同的输出数组。下表显示了使用向量输入A和B的示例, 其中
A = [0 1 1 0 1];
B = [1 1 0 0 1];
Symbol Role Description Example
& 逻辑AND对于两个数组中每个为真(非零)的元素位置, 它返回1, 对于所有其他元素, 它返回0。 A&B = 01001
| 逻辑或对于一个或另一个或两个数组中每个为真(非零)的元素位置, 它返回1, 对于所有其他元素, 返回0。 A | B = 11101
~ 逻辑NOT补充输入数组A的每个元素。 ?A = 10010
xor 对于仅在一个数组中为真(非零)的每个元素位置, 它返回1;对于所有其他元素, 它返回0。 异或(A, B)= 10100
对于采用两个数组操作数(&, |和xor)的运算符和函数, 两个数组必须具有相同的维, 并且每个维的大小均相同。一个例外是一个操作数是标量, 而另一个不是标量。
注意:MATLAB将用作逻辑表达式输入的任何有限非零数学值转换为逻辑1或true。位智能运算符以下函数在非负整数输入上执行按位逻辑运算。输入可以是标量或数组。如果在数组中, 则这些操作将生成大小相似的输出数组。
下表中的示例使用标量输入A和B, 其中
A = 28; %二进制11100
B = 21; %二进制10101
Function Description Example
bitand 它返回两个非负整数参数的按位与。 bitand(A, B)= 20(二进制10100)
bitor 它返回两个非负整数参数的按位或。 bitor(A, B)= 29(二进制11101)
bitcmp 它将按位补码返回为n位数字, 其中n是bitcmp的第二个输入参数。 bitcmp(A, 5)= 3(二进制00011)
bitxor 它返回两个非负整数参数的按位异或。 bitxor(A, B)= 9(二进制01001)
短路操作员以下运算符对逻辑表达式(包括标量值)执行AND和OR运算。它们是短路运算符, 因为仅当第一个操作数不能完全确定输出时才计算第二个操作数。
Operator Description
& & 如果两个输入都计算为真, 则返回逻辑1(真), 否则返回逻辑0(假)。
|| 如果输入或两者都计算为true, 则返回逻辑1(true), 否则返回逻辑0(false)。
MATLAB特殊字符【MATLAB运算符】特殊字符根据其行为和使用位置来执行某些特殊任务。
Symbol 符号名称 Role
@ 在符号 函数管理构造和引用调用超类方法
. 句点或点 小数点逐元素操作结构字段访问对象属性或方法说明符
点点或省略号
  • Line continuation
, Comma
  • Separator
: Colon 向量创建索引循环迭代
; Semicolon 表示行的末尾禁止代码行的输出
( ) Parentheses 运算符优先级函数自变量包围索引
[ ] 方括号 数组串联数组构造空矩阵和数组元素删除多输出参数分配
{ } 大括号 单元格数组分配和内容
% Percent 评论转换说明符
%{ %} 大括号百分比 阻止评论
! 感叹号 操作系统命令
? Question mark MATLAB类的元类
‘ ‘ Single quotes 字符数组构造函数
” “ Double quotes
  • String constructor
N/A 空格字符
  • Separator
~ Tilde 逻辑非参数占位符
= Equal sign
  • assignment
MATLAB字符串和字符格式特殊字符有一些特殊字符只能在字符或字符串的文本内使用。这些特殊字符用于插入换行符或回车符, 指定文件夹路径。
Symbol 符号名称 Role Example
/ \ 正斜杠反斜杠 文件或文件夹路径分隔 Windows:dir([matlabroot’ \ toolbox \ matlab \ elmat \ scriptview1.m’ ])或dir([matlabroot’ /toolbox/matlab/elmat/scriptview1.m’ ])UNIX / Linux系统:仅正斜杠dir([ matlabroot’ /toolbox/matlab/elmat/scriptview1.m’ ])
.. 点点 上层资料夹 cd .. \ .. \ example上移两个级别, 然后下移到example文件夹
* Asterisk 通配符 dir(‘ example _ *。mat’ )查找名称以example开头且扩展名为.mat的所有文件
@ At symbol 类文件夹指示器 \ @myScriptClass \ get.m
+ Plus 包目录指示符 + mypack + mypack / scriptview1.m + mypack / @ myScriptClass

    推荐阅读