外部インタフェース/API リファレンス | ![]() ![]() |
C 言語表示
#include "matrix.h" bool mxIsComplex(const mxArray *array_ptr);
戻り値
array_ptr
が複素データを含む数値配列である場合は真。そうでない場合は、偽を出力します。array_ptr
がセル配列または構造体配列を指す場合は、mxIsComplex
は偽を出力します。
詳細
mxIsComplex
を用いて、mxArray
に対して虚数成分が割り当てられているかどうかを決定します。虚数成分のポインタpi
は、mxArray
が純粋に実数で、虚数データをもたない場合はNULL
です。mxArray
が複素数である場合は、pi
は数値からなる配列を指すポインタです。
MEX-ファイルが呼び出されるとき、MATLABはすべての入力(右辺)配列を自動的に調べます。入力配列のいずれかが複素数である場合、MATLABはそれ以外のすべての入力配列に対して虚数データを保持するためのメモリを自動的に割り当てます。たとえば、Jest
という名前のMEX-ファイルに、3つの入力変数(apricot
, banana
, carambola
)を渡すとします。
apricot = 7; banana = sqrt(-5:5); carambola = magic(2); Jest(apricot, banana, carambola);
banana
は複素数です。そのため、配列apricot
が純粋に実数であっても、MATLABはapricot
の虚数成分を保持するための領域(1要素)を自動的に割り当てます。MATLABは、carambola
の存在しない虚数値を保持するための領域(4要素)も自動的に割り当てます。
言い換えると、MATLABはすべての入力配列を強制的に実数とするか、あるいは複素数とします。
例題
examples
ディレクトリのmx
サブディレクトリのmxisfinite.c
を参照してください。
さらに、examples
ディレクトリのrefbook
サブディレクトリのconvec.c
, phonebook.c
, timestwo.c
, xtimesy.c
と、examples
ディレクトリのmex
サブディレクトリのexplore.c
, yprime.c
, mexlock.c
, mexsettrapflag.c
と、examples
ディレクトリのmx
サブディレクトリのmxcalcsinglesubscript.c
, mxgeteps.c
, mxgetinf.c
を参照してください。
参考
![]() | mxIsClass | mxIsDouble | ![]() |