pow2
2 を底とする指数と浮動小数点数のスケーリング
説明
例
2 の E 乗を求めます。
E = [1 -2 4 -4 3 9]; Y = pow2(E)
Y = 1×6
2.0000 0.2500 16.0000 0.0625 8.0000 512.0000
この例では、2 の累乗による仮数のスケーリングの結果について、標準の IEEE® 算術演算による結果と pow2 による結果を比較します。
いくつかの仮数の正確な値を表す文字ベクトルの cell 配列を作成します。指数を指定します。
Xcell = {'1/2','pi/4','-3/4','1/2','1-eps/2','1/2'}';
E = [1 2 2 -51 1024 -1021]';標準の IEEE 算術演算で Xcell を 2 の E 乗でスケーリングした結果を Ycell として指定します。これらの結果を table で表示します。
Ycell = {'1','pi','-3','eps','realmax','realmin'}';
table(Xcell,E,Ycell,'VariableNames',["Significand" "Exponent" "Value"])ans=6×3 table
Significand Exponent Value
___________ ________ ___________
{'1/2' } 1 {'1' }
{'pi/4' } 2 {'pi' }
{'-3/4' } 2 {'-3' }
{'1/2' } -51 {'eps' }
{'1-eps/2'} 1024 {'realmax'}
{'1/2' } -1021 {'realmin'}
次に、table の結果を pow2 と比較します。
Xcell を浮動小数点数 X に変換します。pow2(X,E) を使用して、X を 2 の E 乗でスケーリングします。
X = str2num(char(Xcell)); Y = pow2(X,E)
Y = 6×1
10308 ×
0.0000
0.0000
-0.0000
0.0000
1.7977
0.0000
Ycell を浮動小数点数 Ynum に変換します。isequal を使用して Y と Ynum を比較し、pow2 が標準の IEEE 算術演算に従っていることを示します。
Ynum = str2num(char(Ycell))
Ynum = 6×1
10308 ×
0.0000
0.0000
-0.0000
0.0000
1.7977
0.0000
isequal(Y,Ynum)
ans = logical
1
入力引数
指数値。スカラー、ベクトル、行列、多次元配列、table、または timetable として指定します。
データ型: single | double | table | timetable
仮数値。E と同じサイズのスカラー、ベクトル、行列、または多次元配列として指定します。
データ型: single | double | table | timetable
ヒント
構文 Y = pow2(X,E) は、ANSI® C 関数 ldexp() および IEEE® の浮動小数点標準関数 scalbn() に対応します。結果 Y は、X の浮動小数点指数に E を加えることで高速に計算されます。
拡張機能
pow2 関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
pow2 関数は、GPU 配列を完全にサポートします。GPU 上で関数を実行するには、入力データを gpuArray (Parallel Computing Toolbox) として指定します。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入pow2 関数は、2 入力構文を使用する際に複素数入力を指定すると警告を発行します。この構文での複素数入力のサポートは将来のリリースで削除される予定です。以前のリリースでは、2 入力構文において、複素数入力の虚数部は無視され、実数部のみが処理されていました。
以前のリリースの動作を維持するには、次の表に示すように、real 関数を使用して複素数入力の実数部を抽出します。
| 非推奨 (警告) | 推奨 |
|---|---|
X = 2 + 1i; E = 2i; Y = pow2(X,E); | X = 2 + 1i; E = 2i; Y = pow2(real(X),real(E)); |
関数 pow2 は、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)