Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
complex
複素数を計算する.
呼び出し手順
c=complex(a) c=complex(a,b)
引数
- a
1行1列またはn行m列の倍精度実数行列, 実部.
a
が虚部を有する場合, エラーが発生します.- b
1行1列またはn行m列の倍精度実数行列, 虚部 (デフォルト b=0).
b
が虚部を有する場合, エラーが発生します.- c
n行m列の倍精度複素行列, 複素数.
説明
c=complex(a) は, a
を実部,
0 を虚部とする複素数を作成します.
c=complex(a,b) は実部a
,
虚部b
の複素数を作成します.
この関数は,
特に複素数演算が%inf
または%nan
のような特定の浮動小数点数と競合する場合に,
a+%i*b
のような式の代替手段となります.
例
以下の例では,実部と虚部から複素数を生成します.
complex(1,2) complex([1 2],[3 4])
a
のみが指定された場合, 虚部は0に設定されます.
complex([1 2 3])
a
がスカラーで b
が
行列の場合, 結果 c
は,
b
と同じ大きさとなります.
同様に, b
がスカラーで a
が行列の場合, 結果 c
は
a
と同じ大きさになります.
c = complex([1 2 3], 4) c = complex(1, [2 3 4])
a
と b
が
異なる大きさの行列の場合,以下のセッションのような
エラーが発生します.
-->complex(ones(2,3),ones(4,5)) !--error 10000 complex: Incompatible input arguments #1 and #2: Same sizes expected. at line 33 of function complex called by : complex(ones(2,3),ones(4,5))
complex
関数の目的は,NaNや無限大のような
IEEE 浮動小数点数を管理することです.
以下の例では,複素数演算を使用する場合,
実部と虚部が複合体となる複素数を作成するのは
容易ではないことを示します.
これは,%i
と %inf
の積が
(0+%i) * (%inf+%i*0)
と評価されるためです.
この結果は,中間式0*%inf
,つまり,
%nan
となります.
-->%inf+%i*%inf ans = Nan + Inf
この問題の解決策は complex
関数を使用することです.
-->complex(%inf,%inf) ans = Inf + Inf
参照
- imult — 虚数単位 i を乗じる
Report an issue | ||
<< Complex | Complex | conj >> |