Main Content

isreal

配列で複素数ストレージを使用するかどうかを判別

説明

tf = isreal(A) は、数値配列 A に虚数部が含まれていない場合は logical 1 (true) を返し、それ以外の場合は logical 0 (false) を返します。虚数部が 0 の複素数値の場合、値が依然として複素数として格納されるため、isreal は logical 0 (false) を返します。

すべて折りたたむ

3 行 4 列の行列 A を定義します。

A = [7 3+4i 2 5i;...
     2i 1+3i 12 345;...
     52 108 78 3];

配列が実数かどうかを判別します。

tf = isreal(A)
tf = logical
   0

A に複素数要素が含まれるため、isreal は false を返します。

関数 complex を使用して、ゼロ値の虚数部をもつスカラー A を作成します。

A = complex(12)
A = 12.0000 + 0.0000i

A が実数かどうかを判別します。

tf = isreal(A)
tf = logical
   0

A に虚数部があるため、虚数部の値が 0 であっても、実数ではありません。

A にゼロ値の虚数部をもつ要素があるかどうか判定します。

~any(imag(A))
ans = logical
   1

A はゼロ値の虚数部をもつ要素を含んでいます。

2 つの複素数スカラー xy を定義します。

x=3+4i;
y=5-4i;

2 つの複素数スカラー xy を加算すると実数になるかどうかを判定します。

A = x+y
A = 8

MATLAB® はゼロの虚数部を省略します。

isreal(A)
ans = logical
   1

A は虚数部をもっていないので実数です。

cell 配列を作成します。

C{1,1} = pi;                 % double
C{2,1} = 'John Doe';         % char array
C{3,1} = 2 + 4i;             % complex double
C{4,1} = ispc;               % logical
C{5,1} = magic(3);           % double array
C{6,1} = complex(5,0)        % complex double
C=6×1 cell array
    {[          3.1416]}
    {'John Doe'        }
    {[2.0000 + 4.0000i]}
    {[               0]}
    {3x3 double        }
    {[5.0000 + 0.0000i]}

C は 1 行 6 列の cell 配列です。

cell 配列の要素全体をループ処理して、実数要素と複素数要素を区別します。

for k = 1:6
x(k,1) = isreal(C{k,1});
end

x
x = 6x1 logical array

   1
   1
   0
   1
   1
   0

C{3,1}C{6,1} 以外はすべて実数配列です。

入力引数

すべて折りたたむ

入力配列。スカラー、ベクトル、行列または多次元配列として指定します。

  • 数値データ型の場合、A に虚数部がなければ、関数 isrealtrue を返し、A に虚数部があれば関数 isrealfalse を返します。

  • durationcalendarDurationlogical および char のデータ型の場合、isreal は常に true を返します。

  • stringtablecellstructdatetimefunction_handle および object のデータ型の場合、isreal は常に false を返します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell | datetime | duration | calendarDuration | function_handle
複素数のサポート: あり

ヒント

  • 配列 A の各要素が実数かどうかをチェックするには、A == real(A) を使用します。

  • 虚数部がすべてゼロであっても、isreal(complex(A)) は常に false を返します。

  • すべてゼロであっても、~isreal(x) は虚数部をもつ配列を検出します。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。

HDL コード生成
HDL Coder™ を使用して FPGA 設計および ASIC 設計のための VHDL、Verilog および SystemVerilog のコードを生成します。

バージョン履歴

R2006a より前に導入