GNU Octave 2.1.x 日本語マニュアル/算術演算

以下の解説において特に注釈がない場合,この章で紹介するすべての関数は,実数型と複素数型のス カラおよび行列のいずれにも使用することが出来ます。
ここで紹介する関数群は,複素数に対しても使用することができます。 各関数とも,1 つの引数を与 えるように作られています。 これらの関数群を,マッピング関数(mapping function)と呼びます。
この名称は,引数として行列を与えたとき,行列の各要素に対して同じ処理をすることに由来するも のです。
[Mapping Function]
x よりも小さくない最小の整数を返します。 x が複素数のときは,ceil (real (x)) + ceil (imag (x)) * Iを返します。
[Mapping Function]
x の指数関数を計算します。 行列に対して指数行列を計算するには,Chapter 20 [Linear Algebra]の章を参照してください。
[Mapping Function]
x をゼロに向かって丸める。 x が複素数のときは,fix (real (x)) + fix (imag (x)) * I を返します。
[Mapping Function]
x よりも大きくない最大の整数を返します。 x が複素数のときは,floor (real (x)) + floor (imag (x)) * Iを返します。
[Loadable Function]
[Loadable Function]
引数をひとつだけ与えると,その最大公約数を返します。 2 つ以上の引数を指定するときは,それ らが同じサイズのベクトルもしくはスカラでなければなりません。 この場合,対応する要素につ いてそれぞれ最大公約数を計算します。 指定する各要素は,整数でなければなりません。 以下に例 を示す。
gcd ([15, 20]) ) 5 あるいは,以下のようにすることもできます。
gcd ([15, 9], [20 18]) ) 5 9 v1 のように返り値を追加すると,以下のような整数のベクトルを返します。
g = v1a1 + v2a2 + ¢ ¢ ¢ 以前のOctave における後方互換性を確保するため,全ての引数がスカラであるときには,単 一の返り値v1 にすべての値(v1, ...)を含めるようになっています。

[Mapping Function]
x あるいは指定した全引数について,その最小公倍数を計算します。 たとえば, lcm (a1, ..., ak) と lcm ([a1, ..., ak]). は同じ意味です。 全ての要素は同じ大きさであるか,スカラでなければなりません。
[Mapping Function]
x の各要素について,自然対数を計算します。 対数行列を計算するには,Chapter 20 [LinearAlgebra]の項を参照のこと。
[Mapping Function]
x の常用対数(10 を底とする対数)を計算します。
[Mapping Function]
[Mapping Function]
x について,2 を底とする対数を計算します。 返り値を2 つ指定すると,1=2 <= jfj < 1 およ びx = f ¢ 2e を満たすf とe を返します。
[Mapping Function]
[Mapping Function]
引数としてベクトルを渡すと,その要素の最大値を返します。 行列を渡すと,各列ごとに最大値を 返すので,結果は行ベクトルとなります。 dim を指定すると,その次数を指定することができます。
2 つの行列(あるいは行列とスカラ)を渡すと,対で比較した結果を返します。 以下に例を挙げる。
max (max (x)) この結果は,x に含まれる要素の最大値を返します。
max (2:5, pi) ) 3.1416 3.1416 4.0000 5.0000 これは,2:5の範囲にある各要素とpiとを比較し,最大値を含む行ベクトルを返します。
引数に複素数を渡すと,要素の大きさで比較を行う。
1 つの入力に対して2 つの返り値を受け取るとき,max関数は,最大値に対応する要素の位置 も返します。 以下の例を参照されたい。
[x, ix] = max ([1, 3, 5, 2, 5]) ) x = 5 ix = 3
[Mapping Function]
[Mapping Function]
引数としてベクトルを渡すと,その要素の最小値を返します。 行列を渡すと,各列ごとに最小値を 返すので,結果は行ベクトルとなります。 dim を指定すると,その次数を指定することができます。 2 つの行列(あるいは行列とスカラ)を渡すと,対で比較した結果を返します。 以下に例を挙げる。
min (min (x))
この結果は,x に含まれる要素の最小値を返します。
min (2:5, pi) ) 2.0000 3.0000 3.1416 3.1416
これは,2:5の範囲にある各要素とpiとを比較し,最小値を含む行ベクトルを返します。 引数に複素数を渡すと,要素の大きさで比較を行う。 1つの入力に対して2つの返り値を受け取るとき,min関数は,最小値に対応する要素の位置も返します。 以下の例を参照してください。
[x, ix] = min ([1, 3, 0, 2, 5]) ) x = 0 ix = 3
[Mapping Function]
以下の計算式により,剰余(割り算の余り)を計算します。
x - y .* floor (x ./ y) 負の値を正しく扱うことに注意されたい。 つまり,mod (-1, 3)の結果は2 であり,-1 ではな い。 rem (-1, 3)の結果は-1 となります。 また,mod (x, 0)は,x を返します。
引数の次数が合わないとき,あるいは引数に複素数を指定したときはエラーメッセージを表示 します。
[Function File] x がスカラであれば,2n , jxj. を満たす最初の整数n を返します。
x がベクトルであれば,nextpow2 (length (x))を返します。
[Mapping Function] pow2 (f, e) ==== [Mapping Function]
引数を1つだけ指定したときには,x の各要素について2x を計算します。 2つの引数に対して は,f ¢ 2e. を計算します。
[Mapping Function]
以下の式によって,x / yの余りを計算します。
x - y .* fix (x ./ y) 引数の次数が合わないとき,あるいは複素数が渡されたときにはエラーメッセージを表示します。
[Mapping Function]
x に最も近い整数を返します。 x が複素数のときには,round (real (x)) + round (imag (x))
[Mapping Function]
符号関数(signum function)を計算します。 この関数は,以下のように定義されます。
sign(x) = 8<
1; x > 0; 0; x = 0; !1; x < 0. 複素数については,x ./ abs (x)を返します。

[Mapping Function]
x の正の平方根(ルート)を計算します。 x が負のとき,複素数を返します。 行列の平方根について は,Chapter 20 [Linear Algebra]を参照してください。
ここで紹介する関数群は,複素数に対しても使用することができます。 各関数とも,1 つの引数を与え るように作られています。 引数として行列を与えたとき,行列の各要素ごとに同じ処理をします。 以 降の解説において,z は複素数x + iy であり,i は虚数単位( p !1)です。
[Mapping Function]
z の大きさを,jzj = p x2 + y2. から計算します。
以下に例を示す。
abs (3 + 4i) ) 5
[Mapping Function]
z の共役複素数 ̄z = x ! iy を返します。
[Mapping Function]
z の虚部を実数で返します。
[Mapping Function]
z の実部を返します。
Octave では以下の三角関数を提供しています。 引数はラジアンで指定します。 角度(degree)をラ ジアンに変換するには,角度に?=180 を乗じてください(たとえば,sin (30 * pi/180)は,30 度 に対する正弦の値を返す)。
[Mapping Function]
x の各要素について,正弦(サイン)を計算します。
[Mapping Function]
x の各要素について,余弦(コサイン)を計算します。
[Mapping Function]
x の各要素について,正接(タンジェント)を計算します。
[Mapping Function]
x の各要素について,余割(セカント)を計算します。
[Mapping Function]
x の各要素について,余割(コセカント)を計算します。
[Mapping Function]
x の各要素について,余接(コタンジェント)を計算します。

[Mapping Function]
x の各要素について,逆正弦(アークサイン)を計算します。
[Mapping Function]
x の各要素について,逆余弦(アークコサイン)を計算します。
[Mapping Function]
x の各要素について,逆正接(アークタンジェント)を計算します。
[Mapping Function]
x の各要素について,逆正割(アークセカント)を計算します。
[Mapping Function]
x の各要素について,逆余割(アークコセカント)を計算します。
[Mapping Function]
x の各要素について,逆余接(アークコタンジェント)を計算します。
[Mapping Function]
x の各要素について,双曲線正弦(ハイパボリックサイン)を計算します。
[Mapping Function]
x の各要素について,双曲線余弦(ハイパボリックコサイン)を計算します。
[Mapping Function]
x の各要素について,双曲線正接(ハイパボリックタンジェント)を計算します。
[Mapping Function]
x の各要素について,双曲線正割(ハイパボリックセカント)を計算します。
[Mapping Function]
x の各要素について,双曲線余割(ハイパボリックコセカント)を計算します。
[Mapping Function]
x の各要素について,逆双曲線余接(逆ハイパボリックコタンジェント)を計算します。
[Mapping Function]
x の各要素について,逆双曲線正弦(逆ハイパボリックサイン)を計算します。
[Mapping Function]
x の各要素について,逆双曲線正接(逆ハイパボリックコサイン)を計算します。
[Mapping Function]
x の各要素について,逆双曲線正接(逆ハイパボリックタンジェント)を計算します。

[Mapping Function]
x の各要素について,逆双曲線正割(逆ハイパボリックセカント)を計算します。
[Mapping Function]
x の各要素について,逆双曲線余割(逆ハイパボリックコセカント)を計算します。
[Mapping Function]
x の各要素について,逆双曲線余接(逆ハイパボリックコタンジェント)を計算します。
以上の関数は,引数が1 つであることを想定しています。 引数に行列を与えたときは,以下に示す ように,各要素ごとに計算を行います。
sin ([1, 2; 3, 4]) ) 0.84147 0.90930 0.14112 -0.75680
[Mapping Function]
x とy の対応する要素について,y / x の逆正接(アークタンジェント)を計算します。 結果を !? から? の範囲で返します。
[Built-in Function]
次元dim 方向の和を計算します。 dim が省略されたときは,1 を指定した(列方向に和をとる) とみなす。
例外として,x がベクトルでdim を省略したとき,要素の和を返します。
[Built-in Function]
次元dim 方向の積を計算します。 dim が省略されたときは,1を指定した(列方向に積をとる)とみなす。 例外として,x がベクトルでdim を省略したとき,x の要素の積を返します。
[Built-in Function]
次元dim 方向の累積和を計算します。 dim が省略されたときは,1 を指定した(列方向に累積和をとる)とみなす。 例外として,x がベクトルでdim を省略したとき,x の要素の累積和を返します。
[Built-in Function]
次元dim 方向の累積積を計算します。 dim が省略されたときは,1 を指定した(列方向に累積積 をとる)とみなす。
例外として,x がベクトルでdim を省略したとき,x の要素の累積積を返します。
[Built-in Function] 次元dim 方向の積和を計算します。 dim が省略されたときは,1を指定した(列方向に積和をとる)とみなす。 例外として,x がベクトルでdim を省略したとき,要素の積和を返します。 この関数は,概念的には以下の計算を行っているに等しい。
sum (x .* conj (x), dim)
しかし,この関数の方が使用メモリが少なく,xが実数の場合にconjを呼び出さないので,より効率的です。
[Loadable Function]
[Loadable Function]
[Loadable Function]
[Loadable Function]
[Loadable Function]
さまざまなBessel(あるいはHankel)関数を計算します。
引数opt を与えたとき,k = 1 に対してexp (-I*x),k = 2 に対してexp (I*x)によってスケール化した値を返します。
alpha がスカラであれば,結果はx と同じサイズになります。 x がスカラであれば,結果はalpha と 同じサイズになります。 alpha が行ベクトルでx が列ベクトルであれば,返す結果はlength (x) 行length (alpha)列の行列となります。 一方,alpha とx は整合性がなければならず,結果は同 じサイズとなります。
alpha の値は実数でなければなりません。 x は複素数でもよい。
必要に応じてierr を指定することにより,以下のような実行結果を得ることができます。 これは 結果と同じサイズになります。
[Loadable Function]
第1 種および第2 種のAiry 関数,およびその導関数を計算します。
K Function Scale factor (if a third argument is supplied)
0 Ai (Z) exp ((2/3) * Z * sqrt (Z)) 1 dAi(Z)/dZ exp ((2/3) * Z * sqrt (Z)) 2 Bi (Z) exp (-abs (real ((2/3) * Z *sqrt (Z)))) 3 dBi(Z)/dZ exp (-abs (real ((2/3) * Z *sqrt (Z)))) 関数をairy (z)の形式で呼び出すと,airy (0, z) として実行したものと見なします。
結果はz と同じサイズになります。
必要に応じてierr を指定することにより,以下のような実行結果を得ることができます。 これは 結果と同じサイズになります。
[Mapping Function]
ベータ関数を返します。
B(a; b) = !(a)!(b) !(a + b) :
[Mapping Function]
不完全ベータ関数を返します。
̄(x; a; b) = B(a; b)!1 Z x 0 t(a!z)(1 ! t)(b!1)dt: x が複数の成分を含むならば,a とb の両方ともスカラでなければなりません。 x がスカラなら ば,a とb は同じ次数でなければなりません。
[Mapping Function]
以下の計算式においてn とk を与えたときの二項係数を返します。
A n k ! = n(n ! 1)(n ! 2) ¢ ¢ ¢ (n ! k + 1) k! たとえば, bincoeff (5, 2) ) 10 となります。
[Mapping Function]
誤差関数を計算します。
erf(z) = 2 p ? Z z 0 e!t2 dt
[Mapping Function]
補誤差関数1 ! erf(z) を計算します。
[Mapping Function]
誤差関数の逆関数を計算します。

[Mapping Function]
ガンマ関数を計算します。 !(z) = Z 1 0 tz!1e!tdt:
[Mapping Function]
不完全ガンマ関数を計算します。
°(x; a) = Z x 0 e!tta!1dt !(a) a がスカラならば,gammainc (x, a)はx の各要素に対して結果を返します。
x とa の両方ともスカラではないならば,x とa は同じサイズでなければなりません。 このとき, 要素ごとに結果を返します。
[Mapping Function]
[Mapping Function]
ガンマ関数の自然対数を返します。
[Function File] 3次元のベクトルx とy のcross product を計算します。
cross ([1,1,0], [0,1,1]) ) [ 1; -1; 1 ] x とy が行列ならば,最初の次元の3 要素についてcross product を計算します。 オプション引 数dim を指定すると,dim 次元の方向に沿ってcross product を計算します。
[Function File] 交換行列(commutation matrix)Km;n を返します。 これは,m£n の行列A に対して,Km;n ¢ vec(A) = vec(AT ) となるmn×mn の行列です。
引数としてm のみを与えるならば,Km;m を返します。
統計学ならびに経済学における行列の微分についての応用は,Magnus and Neudecker (1988) を参照してください。
[Function File] duplication matrix Dn を返します。 これは,n×n の対称行列matrices A について,Dn ? vech(A) = vec(A) なるn2×n(n + 1)=2 の行列です。
統計学ならびに経済学における行列の微分についての応用は,Magnus and Neudecker (1988) を参照してください。

[Function File]
[Function File] Transform cartesian to polar or cylindrical coordinates. x, y (and z) must be of same shape. theta describes the angle relative to the x - axis. r is the distance to the z - axis (0, 0, z).
[Function File]
[Function File]
Transform polar or cylindrical to cartesian coordinates. theta, r (and z) must be of same shape. theta describes the angle relative to the x - axis. r is the distance to the z - axis (0, 0, z).
[Function File]
Transform cartesian to spherical coordinates. x, y and z must be of same shape. theta describes the angle relative to the x - axis. phi is the angle relative to the xy - plane. r is the distance to the origin (0, 0, 0).
[Function File]
Transform spherical to cartesian coordinates. x, y and z must be of same shape. theta describes the angle relative to the x-axis. phi is the angle relative to the xy-plane. r is the distance to the origin (0, 0, 0).
[Built-in Variable]
[Built-in Variable]
[Built-in Variable]
[Built-in Variable] 虚数単位であり,
と定義されます。 これらの組み込み変数は,関数のような挙動をします。 ゆえに,その名前を別の目的に使用することができます。 もし,これらを変数名として使用して値 を代入し,その後クリアするならば,それらは再びあらかじめ特別に定義してあったものとし て機能します。 詳細は,Section 9.3 [Status of Variables]を参照のこと。
[Built-in Variable]
[Built-in Variable] 無限大を表す。 これは,1/0 のような演算,あるいは浮動小数点オーバーフローの結果として 返されます。
[Built-in Variable]
[Built-in Variable] 非数を表す。 これは,0=0,あるいは1!1,さらにはNaN を含む演算を行った場合に返さ れる。
ある演算で返されたNaNは,別のNaNと比較できません。 この挙動は,浮動小数点演算のIEEE 標準において明記されています。 ある値がNaN かどうかを判定するには,isnan関数を使用す ること。
[Built-in Variable] 円周率です。 内部的には,piは‘4.0 * atan (1.0)’として計算されます。
[Built-in Variable] 自然対数の底です。 この定数e は,log(e) = 1. を満たす。
[Built-in Variable] 計算機の精度を表す。 正確に言えば,epsは計算機の浮動小数点演算機能において,任意の隣 り合うふたつの数の相対間隔の最大値です。 この数値は,明らかにシステムに依存します。 64ビットIEEE 浮動小数点数値をサポートする計算機において,epsは近似的に2:2204£10!16となります。
[Built-in Variable] 浮動小数点値として表すことのできる最も大きな値です。 実際の値は,システムに依存す る。 64 ビットIEEE 浮動小数点数値をサポートする計算機において,realmaxは近似的に 1:7977×10^308. となります。
[Built-in Variable] 浮動小数点値として表すことのできる最も小さな値です。 実際の値は,システムに依存す る。 64 ビットIEEE 浮動小数点数値をサポートする計算機において,realmaxは近似的に 2:2251×10!308. となります。