このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
isreal
配列で複素数ストレージを使用するかどうかを判別
説明
例
行列の値がすべて実数かどうかを判別
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 つの複素数スカラー x
と y
を定義します。
x=3+4i; y=5-4i;
2 つの複素数スカラー x
と y
を加算すると実数になるかどうかを判定します。
A = x+y
A = 8
MATLAB® はゼロの虚数部を省略します。
isreal(A)
ans = logical
1
A
は虚数部をもっていないので実数です。
cell 配列で実数要素を見つける
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
— 入力配列
スカラー | ベクトル | 行列 | 多次元配列
入力配列。スカラー、ベクトル、行列または多次元配列として指定します。
数値データ型の場合、
A
に虚数部がなければ、関数isreal
はtrue
を返し、A
に虚数部があれば関数isreal
はfalse
を返します。duration
、calendarDuration
、logical
およびchar
のデータ型の場合、isreal
は常にtrue
を返します。string
、table
、cell
、struct
、datetime
、function_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 のコードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)