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

按元素幂运算符。如果两个运算数都是矩阵,那么行和列的数量必须一致,或者它们必须可广播为相同的形状。 如果可能有几个复数结果,则取具有最小非负参数(角度)的结果。这个规则可能会返回一个复数根,即使实数根也是可能的。 如果只需要实数结果则优先使用realpow, realsqrt, cbrtnthroot

广告
-x

取复数

广告
+x

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

广告
x

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

conj (x.')
广告
x.’

转置

广告

请注意,因为Octave的按元素运算符以'.’开头,像这样的语句可能存在歧义

1./m

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

(1) ./ m

而不是

(1.) / m

尽管这与Octave的lexer的正常行为不一致,后者通常倾向于通过无论如何在引用尽可能长的匹配来将输入分解为令牌,但在这种情况下它更有用。

还要注意的是,二进制运算符和空白的某些组合可能会在调用函数的命令语法形式中返回明显的歧义。详见Command Syntax and Function Syntax命令语法和函数语法了解Octave如何处理该语法。

 
: B = ctranspose (A')

返回的复共轭转置A'

此函数和A' 是等效的。

详见: transpose

广告
 
: y = pagectranspose (A')

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

这相当于A'(:,:, k)'对于每一页k.

详见: pagetranspose, ctranspose, permute.

广告
 
: C = ldivide (A', B)

按元素按项返回的左除法A'和B.

此函数和A'.\ B 等效。

详见: rdivide, mldivide, times, plus.

广告
 
: C = minus (A', B)

此函数和A'- B 是等效的。

详见: plus, uminus.

广告
 
: C = mldivide (A', B)

返回的矩阵左除法A'和B.

此函数和A'\ B 是等效的。

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

详见: mrdivide, ldivide, rdivide, linsolve.

广告
 
: C = mpower (A', B)

返回的矩阵幂运算A'的B次幂

此函数和A' ^ B 是等效的。

详见 power, mtimes, plus, minus.

广告
 
: C = mrdivide (A', B)

返回的矩阵右除法A'和B.

此函数和A' / B 是等效的。

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

详见: mldivide, rdivide, plus, minus.

广告
 
: C = mtimes (A', B)
: C = mtimes (A1, A2, …)

返回输入的矩阵乘积。

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

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

详见: times, plus, minus, rdivide, mrdivide, mldivide, mpower, tensorprod.

广告
 
: C = plus (A', B)
: C = plus (A1, A2, …)

此函数和A'+ B 是等效的。

如果给出更多的自变量,则从左到右累积求和:

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

详见: minus, uplus.

广告
 
: C = power (A', B)

返回的按元素运算A'的B次幂

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

如果可能有多个复数结果,则返回具有最小非负参数(角度)的结果。如果只需要实数结果则优先使用realpow, realsqrt,cbrtnthroot

mpower, realpow, realsqrt, cbrt, nthroot.

广告
 
: C= rdivide (A', B)

返回的按元素右除A'和B.

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

详见: ldivide, mrdivide, times, plus.

广告
 
: C = times (A', B)
: C = times (A1, A2, …)

返回输入的按元素乘积。

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

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

详见: mtimes, rdivide.

广告
 
: B = transpose (A')

返回的转置A'.

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

详见: ctranspose.

广告
 
: B = pagetranspose (A')

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

这相当于A'(:,:, k).'对于每一页k.

详见: pagectranspose, transpose, permute.

广告
 
: B= uminus (A')

此函数和A' 是等效的。

详见: uplus, minus.

广告
 
: B= uplus (A')

此函数和A' 是等效的。

详见: uminus, plus.