8.3 算术运算符

以下算术运算符可用,适用于标量和矩阵。逐元素运算符和函数支持广播(参见广播)。

x + y

加法(总是按元素执行)。如果两个操作数都是矩阵,则行数和列数必须一致,或者它们必须可广播为相同的形状。

x - y

减法(总是按元素执行)。如果两个操作数都是矩阵,则行数和列数必须一致,或者它们必须可广播为相同的形状。

x * y

矩阵乘法。x的列数必须与y的行数一致。

x .* y

逐元素乘法。如果两个操作数都是矩阵,则行数和列数必须一致,或者它们必须可广播为相同的形状。

x / y

右除。这在概念上等同于表达式

(inv (y') * x')'

但其计算过程中并不显式求y’的逆矩阵。

如果系统不是方阵,或者系数矩阵是奇异的,则计算最小范数解。

x ./ y

逐元素右除。

x \ y

左除。这在概念上等同于表达式

inv (x) * y

但其计算过程中并不显式求x的逆矩阵。

如果系统不是方阵,或者系数矩阵是奇异的,则计算最小范数解。

x .\ y

逐元素左除。y的每个元素被x的对应元素除。

x ^ y

幂运算。如果xy都是标量,此运算符返回xy次幂。如果x是标量且y是方阵,则通过特征值展开计算。如果x是方阵,则当y为整数时通过反复乘法计算,当y不是整数时通过特征值展开计算。如果xy都是矩阵则报错。

此运算符的实现需要改进。

x .^ y

逐元素幂运算。如果两个操作数都是矩阵,则行数和列数必须一致,或者它们必须可广播为相同的形状。 如果可能有多个复数结果,则取具有最小非负幅角(角度)的结果。此规则可能返回复数根,即使实数根也可能存在。 如果希望得到实数结果,请使用realpowrealsqrtcbrtnthroot

-x

取负。

+x

一元加。此运算符对操作数没有影响。

x

复共轭转置。对于实数参数,此运算符与转置运算符相同。对于复数参数,此运算符与以下表达式等效

conj (x.')
x.’

转置。

请注意,由于 Octave 的逐元素运算符以’.’开头,像这样的语句可能存在歧义

1./m

因为小数点可以被解释为常量的一部分,或者被解释为运算符的一部分。为了解决此冲突,Octave 将表达式视为您已输入

(1) ./ m

而不是

(1.) / m

尽管这与 Octave 的词法分析器通常的行为不一致(后者倾向于在任意给定位置优先选择最长可能匹配来将输入分解为标记),但在这种情况下这样做更为有用。

还要注意的是,二元运算符和空白的某些组合可能会在调用函数的命令语法形式中产生明显的歧义。请参阅命令语法与函数语法了解 Octave 如何处理该语法。

 
B = ctranspose (A)

返回 A 的复共轭转置。

此函数与 A' 是等效的。

另请参阅:transpose

 
y = pagectranspose (A)

返回 N 维数组 A 的按页复共轭转置。

这相当于对每个第 k 页运算 A(:,:, k)'

另请参阅:pagetransposectransposepermute

 
C = ldivide (A, B)

返回 AB 的逐元素左除结果。

此函数与 A .\ B 是等效的。

另请参阅:rdividemldividetimesplus

 
C = minus (A, B)

此函数与 A - B 是等效的。

另请参阅:plusuminus

 
C = mldivide (A, B)

返回 AB 的矩阵左除结果。

此函数与 A \ B 是等效的。

如果系统不是方阵,或者系数矩阵是奇异的,则计算最小范数解。

另请参阅:mrdivideldividerdividelinsolve

 
C = mpower (A, B)

返回 AB 次矩阵幂运算。

此函数与 A ^ B 是等效的。

另请参阅:powermtimesplusminus

 
C = mrdivide (A, B)

返回 AB 的矩阵右除结果。

此函数与 A / B 是等效的。

如果系统不是方阵,或者系数矩阵是奇异的,则计算最小范数解。

另请参阅:mldividerdivideplusminus

 
C = mtimes (A, B)
C = mtimes (A1, A2, …)

返回输入的矩阵乘法积。

此函数与 A * B 是等效的。如果给出更多参数,则从左到右累积应用乘法:

(...((A1 * A2) * A3) * ...)

另请参阅:timesplusminusrdividemrdividemldividempowertensorprod

 
C = plus (A, B)
C = plus (A1, A2, …)

此函数与 A + B 是等效的。

如果给出更多参数,则从左到右累积求和:

(...((A1 + A2) + A3) + ...)

另请参阅:minusuplus

 
C = power (A, B)

返回 AB 次逐元素幂运算。

此函数与 A .^ B 是等效的。

如果可能有多个复数结果,则返回具有最小非负幅角(角度)的结果。如果只需要实数结果,请使用 realpowrealsqrtcbrtnthroot

另请参阅:mpowerrealpowrealsqrtcbrtnthroot

 
C = rdivide (A, B)

返回 AB 的逐元素右除结果。

此函数与 A ./ B 是等效的。

另请参阅:ldividemrdividetimesplus

 
C = times (A, B)
C = times (A1, A2, …)

逐元素乘法。

此函数与 A .* B 是等效的。 如果给出更多参数,则从左到右累积应用乘法:

(...((A1 .* A2) .* A3) .* ...)

另请参阅:mtimesrdivide

 
B = transpose (A)

返回 A 的转置。

此函数与 A.' 是等效的。

另请参阅:ctranspose

 
B = pagetranspose (A)

返回 N 维数组 A 的按页转置。

这相当于对每个第 k 页运算 A(:,:, k).'

另请参阅:pagectransposetransposepermute

 
B = uminus (A)

此函数与 A 是等效的。

另请参阅:uplusminus

 
B = uplus (A)

此函数与 A 是等效的。

另请参阅:uminusplus


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2