8.3 Arithmetic Operators

Last-modified: 2025-03-22 (土) 21:01:07

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

べき乗演算子。xとy が両方ともスカラーの場合、この演算子はx のy乗を返します。xがスカラーで yが正方行列の場合、結果は固有値展開を使用して計算されます。xが正方行列の場合、 yが整数であれば繰り返し乗算によって結果が計算され、 y が整数でない場合は固有値展開によって結果が計算されます。 xとy の両方が行列の場合、エラーが発生します 。

この演算子の実装を改善する必要があります。

x .^ y

要素ごとのべき乗演算子。両方のオペランドが行列の場合、行数と列数が一致するか、同じ形状にブロードキャスト可能である必要があります。複数の複素数の結果が可能な場合は、最小の非負引数 (角度) を持つ結果が採用されます。この規則では、実数根も可能な場合でも複素数根が返されることがあります。実数結果が望ましい場合は realpow、、、、またはを使用します。realsqrtcbrtnthroot

-x

否定

+x

単項プラス。この演算子はオペランドに影響を与えません

x’

Octaveの要素ごとの演算子は'。'、次のような文には曖昧さが生じる可能性がある。

conj (x.')
x.’

転置

Octaveの要素ごとの演算子は'。'、次のような文には曖昧さが生じる可能性がある。

1./m

なぜなら、ピリオドは定数の一部、あるいは演算子の一部として解釈される可能性があるからです。この矛盾を解決するために、Octaveは次のように入力したかのように式を扱います。

(1) ./ m

そしてそうではない

(1.) / m

これは、通常、任意の時点で可能な限り最長の一致を優先して入力をトークンに分割することを好む Octave のレキサーの通常の動作とは矛盾していますが、この場合はより有用です。

また、バイナリ演算子と空白の組み合わせによっては、関数呼び出しのコマンド構文形式では明らかに曖昧さが生じる可能性があることに注意してください。Octaveがその構文をどのように処理するかについては、 コマンド構文と関数構文を参照してください。

: B = ctranspose (A)

Aの複素共役転置を返します。

この関数と はA' 同等です。

See also: transpose.

: y = pagectranspose (A)

N 次元配列Aのページ単位の複素共役転置を返します 。

これはA(:,:, k)'各ページkと同等です。

See also: pagetranspose, ctranspose, permute.

: C = ldivide (A, B)

AとBの要素ごとの左除算を返します。

この関数とA .\ Bは 同等です。

See also: rdivide, mldivide, times, plus.

: C = minus (A, B)

この関数と は 同等です。 A - B

See also: plus, uminus.

: C = mldivide (A, B)

AとBの行列の左除算を返します。

この関数とA \ Bは 同等です。

システムが正方でない場合、または係数行列が特異である場合、最小ノルム解が計算されます。

See also: mrdivide, ldivide, rdivide, linsolve.

: C = mpower (A, B)

AをB乗した行列の累乗演算を返します。

この関数とA ^ Bは 同等です。

See also: power, mtimes, plus, minus.

: C = mrdivide (A, B)

AとBの行列の右除算を返します。

この関数と A / Bは 同等です。

システムが正方でない場合、または係数行列が特異である場合、最小ノルム解が計算されます。

See also: mldivide, rdivide, plus, minus.

: C = mtimes (A, B)

: C = mtimes (A1, A2, …)

入力の行列乗算積を返します。

この関数と は 同等です。さらに引数を指定すると、乗算は左から右に累積的に適用されます。 A * B

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

See also: times, plus, minus, rdivide, mrdivide, mldivide, mpower, tensorprod.

: C = plus (A, B)

: C = plus (A1, A2, …)

この関数と は 同等です。 A + B

複数の引数が指定された場合、合計は左から右に累積的に適用されます。

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

See also: minus, uplus.

: C = power (A, B)

AのB乗の要素ごとの演算を 返します。

この関数とA .^ Bは 同等です。

複数の複素数の結果が考えられる場合、最小の非負引数(角度)を持つものを返します。実数の結果が望ましい場合は realpow、、、、またはをrealsqrt使用 します。cbrtnthroot

See also: mpower, realpow, realsqrt, cbrt, nthroot.

: C = rdivide (A, B)

AとBの要素ごとの右除算を返します。

この関数とA ./ Bは 同等です。

See also: ldivide, mrdivide, times, plus.

: C = times (A, B)

: C = times (A1, A2, …)
入力の要素ごとの乗算結果を返します。

この関数と は 同等です。さらに引数を指定すると、乗算は左から右に累積的に適用されます。 A .* B

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

See also: mtimes, rdivide.

: B = transpose (A)

Aの転置を返します。

この関数と はA.' 同等です。

See also: ctranspose.

: B = pagetranspose (A)

N 次元配列Aのページ単位の転置を返します。

これはA(:,:, k).'各ページ kと同等です。

See also: pagectranspose, transpose, permute.

: B = uminus (A)

この関数と- Aは 同等です。

See also: uplus, minus.

: B = uplus (A)

この関数と+ Aは 同等です。

See also: uminus, plus.