[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

10.3 算術演算子

以下の算術演算子が利用でき,スカラと行列に対して動作する。

x + y

加算します。もし両方のオペランドが行列ならば,行と列の数の両方とも一致して いなければなりません。もし片方のオペランドがスカラならば,その値を他方の オペランドの全要素に加算します。

x .+ y

要素どうしの加算です。この演算子は+と等価です。

x - y

減算します。もし両方のオペランドが行列ならば,行数と列数の両方とも一致し ていなければなりません。

x .- y

要素どうしの減算です。この演算子は-と等価です。

x * y

行列の乗算です。xの列数は,yの行数と一致していなければなりま せん。

x .* y

要素どうしの乗算です。もし両方のオペランドとも行列ならば,行数と列数の両 方とも一致していなければなりません。,

x / y

右除算です。これは,概念的には,以下の式と等価です。

 
(inverse (y') * x')'

しかし,この演算子はy'の逆数(逆行列)を形成することなく計算します。

もし方程式が正方でない,あるいは係数行列が特異ならば,最小ノルム解を 計算します。

x ./ y

要素ごとの除算です。

x \ y

左除算です。これは,概念的には,以下の式と等価です。

 
inverse (x) * y

しかし,この演算子はx'の逆数(逆行列)を形成することなく計算します。

もし方程式が正方でない,あるいは係数行列が特異ならば,最小ノルム解を 計算します。

x .\ y

要素ごとの左除算です。yの各々の要素を,xの各々の対応する 要素で割ります。

x ^ y
x ** y

ベキ乗の演算子です。もしxyの両方ともスカラならば,この演 算子はxy乗を返します。もしxがスカラであり,y が正方行列ならば,その結果は固有値展開を用いて計算されます。もしx が正方行列ならば,yが整数のときにはrepeated multiplicationによっ て,yが整数でないときには固有値展開によって計算します。xyの両方とも行列ならば,エラーとなります。

この演算子の実装は,改善される必要があります。

x .^ y
x .** y

要素ごとのベキ乗演算子です。もし両方のオペランドとも行列ならば,その行数 と列数が一致していなければなりません。

-x

負値です。

+x

正値です。この演算子は,オペランドに何もしません。

x'

複素共役転置です。実数の引数に対しては,この演算子は転置演算子と同じです。 複素数の引数に対しては,この演算子は式

 
conj (x.')

と等価です。

x.'

転置です。

Octaveの要素ごとの演算子は,`.'から始まるので,以下のような式は あいまいになる可能性があることに注意してください。

 
1./m

なぜならば,ピリオドは,定数の一部あるいは演算子の一部のどちらにも解釈 できるためです。この衝突を避けるために,Octaveは,型を持っているかのよう に式を扱います。つまり,

 
(1) ./ m

であって,

 
(1.) / m

ではありません。 これはOctaveの文法解釈の普通の挙動,すなわち,通常はある与えられた点に おいて最も長くマッチするように入力をトークンに分割すること,とは相容れ ないのですが,この場合には上記の解釈の方が役に立ちます。

Built-in Variable: warn_divide_by_zero

もしwarn_divide_by_zeroが0でないならば,Octaveがゼロで除算した ときに警告が発生する。もしこの値が0ならば,警告を省略する。標準状態は 1である。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated on July, 20 2006 using texi2html 1.76.