个性化阅读
专注于IT技术分析

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 = 
        8       1       6 
        3       5       7 
        4       9       2 
3 * A 
ans=
        24    3    18
         9     15   21
        12    27     6

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 = 
           0    1    0 
           0    0    1 
           0    0    0

对于向量和矩形数组, 除非一个是标量, 否则两个操作数的大小必须相同。在这种情况下, 其中一个操作数是标量, 而另一个不是标量, 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特殊字符

特殊字符根据其行为和使用位置来执行某些特殊任务。

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

赞(0)
未经允许不得转载:srcmini » MATLAB运算符

评论 抢沙发

评论前必须登录!