log2
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 番目の行について を示します。
入力引数
入力行列。スカラー、ベクトル、行列、多次元配列、table、または timetable として指定します。
浮動小数点数分解 [F,E] = log2(X) では、X に 0 があると F = 0 かつ E = 0 となります。Inf、-Inf または NaN の入力値は変更されずに F に返され、対応する指数は E = 0 となります。
データ型: single | double | table | timetable
複素数のサポート: あり
出力引数
2 を底とする対数値。X と同じサイズのスカラー、ベクトル、行列、多次元配列、table、または timetable として返されます。
仮数値。X と同じサイズのスカラー、ベクトル、行列、多次元配列、table、または timetable として返されます。F と E の値は X = F.*2.^E を満たします。
指数値。X と同じサイズのスカラー、ベクトル、行列、多次元配列、table、または timetable として返されます。F と E の値は X = F.*2.^E を満たします。
ヒント
この関数は、ANSI® C 関数
frexp()および IEEE® の浮動小数点標準関数logb()に対応します。Xの要素にゼロがあると、F = 0かつE = 0になります。
拡張機能
log2 関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
log2 関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
構文
[F,E] = log2(X)はサポートされていません。GPU で実行される関数の出力が複素数になる可能性がある場合は、入力引数を明示的に複素数として指定しなければなりません。詳細については、GPU 上での複素数の処理 (Parallel Computing Toolbox)を参照してください。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入log2 関数は、2 出力構文を使用する際に複素数入力を指定すると警告を発行します。この構文での複素数入力のサポートは将来のリリースで削除される予定です。以前のリリースでは、log2 の 2 出力の構文において、複素数入力の虚数部は無視され、実数部のみが処理されていました。
以前のリリースの動作を維持するには、次の表に示すように、real 関数を使用して複素数入力の実数部を抽出します。
| 非推奨 (警告) | 推奨 |
|---|---|
X = 2 - 1i; [F,E] = log2(X); | X = 2 - 1i; [F,E] = log2(real(X)); |
関数 log2 は、table または timetable 内のすべての変数に対して、それらの変数にアクセスするためのインデックス付けを行うことなく計算できます。すべての変数のデータ型で計算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)