このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
log2
2 を底とした対数と浮動小数点数分解
説明
例
2 を底とする対数値
浮動小数点数分解
複数の数値を指数と仮数に分解します。これらの演算はいずれも標準の IEEE® 算術演算に従っています。
複数のテスト値を含むベクトル X を作成します。各数値の指数と仮数を計算します。
X = [1 pi -3 eps realmax realmin];
format rat
[F,E] = log2(X)
F = 1/2 355/452 -3/4 1/2 1 1/2
E = 1 2 2 -51 1024 -1021
結果をテーブルに収集します。表示用に数値を文字ベクトルに変換します。
x = {'1','pi','-3','eps','realmax','realmin'}'; f = strtrim(cellstr(rats(F'))); T = table(x,f,E','VariableNames',{'Value','Mantissa','Exponent'})
T=6×3 table
Value Mantissa Exponent
___________ ___________ ________
{'1' } {'1/2' } 1
{'pi' } {'355/452'} 2
{'-3' } {'-3/4' } 2
{'eps' } {'1/2' } -51
{'realmax'} {'1' } 1024
{'realmin'} {'1/2' } -1021
この結果は、最初の行について を示します。同様に、4 番目の行について を示します。
入力引数
X
— 入力行列
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
入力行列。スカラー、ベクトル、行列、多次元配列、table、または timetable として指定します。
浮動小数点数分解 [F,E] = log2(X)
では、X
に 0 があると F = 0
かつ E = 0
となります。Inf
、-Inf
または NaN
の入力値は変更されずに F
に返され、対応する指数は E = 0
となります。
データ型: single
| double
| table
| timetable
複素数のサポート: あり
出力引数
Y
— 2 を底とする対数値
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
2 を底とする対数値。X
と同じサイズのスカラー、ベクトル、行列、多次元配列、table、または timetable として返されます。
F
— 仮数値
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
仮数値。X
と同じサイズのスカラー、ベクトル、行列、多次元配列、table、または timetable として返されます。F
と E
の値は X = F.*2.^E
を満たします。
E
— 指数値
スカラー | ベクトル | 行列 | 多次元配列 | table | timetable
指数値。X
と同じサイズのスカラー、ベクトル、行列、多次元配列、table、または timetable として返されます。F
と E
の値は X = F.*2.^E
を満たします。
ヒント
この関数は、ANSI® C 関数
frexp()
および IEEE® の浮動小数点標準関数logb()
に対応します。X
の要素にゼロがあると、F = 0
かつE = 0
になります。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
この関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
構文
[F,E] = log2(X)
はサポートされていません。GPU で実行される関数の出力が複素数になる可能性がある場合は、入力引数を明示的に複素数として指定しなければなりません。詳細については、GPU 上での複素数の処理 (Parallel Computing Toolbox)を参照してください。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入R2023a: table および timetable で直接計算を実行
関数 log2
は、table または timetable 内のすべての変数に対して、それらの変数にアクセスするためのインデックス付けを行うことなく計算できます。すべての変数のデータ型で計算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
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)