Main Content

nextpow2

指定値以上の最小の 2 のべき乗の指数

説明

P = nextpow2(A) は、A の各要素について次を満たす最小の 2 のべき乗の指数を返します。

2p|A|

慣例により、nextpow2(0) はゼロを返します。

nextpow2fft に渡す信号のパディングに使用できます。信号長がちょうど 2 のべき乗でない場合、これによって FFT の計算を高速化できます。

すべて折りたたむ

double 整数値のベクトルを定義し、これらの値よりも大きい最小の 2 のべき乗の指数を計算します。

a = [1 -2 3 -4 5 9 519];
p = nextpow2(a)
p = 1×7

     0     1     2     2     3     4    10

最小の正の 2 のべき乗数を計算します。

np2 = 2.^p
np2 = 1×7

           1           2           4           4           8          16        1024

元の入力値の符号を保持します。

np2.*sign(a)
ans = 1×7

           1          -2           4          -4           8          16        1024

符号なしの整数のベクトルを定義し、これらの値よりも大きい最小の 2 のべき乗の指数を計算します。

a = uint32([1020 4000 32700]);
p = nextpow2(a)
p = 1x3 uint32 row vector

   10   12   15

a の値よりも大きい最小の 2 のべき乗数を計算します。

2.^p
ans = 1x3 uint32 row vector

    1024    4096   32768

信号長が 2 のべき乗でない場合に関数 nextpow2 を使用して fft のパフォーマンスを向上できます。

8191 個のサンプル値を含む 1 次元ベクトルを作成します。

rng default;
x = rand([1,8191]);

8191 よりも大きい最小の 2 のべき乗数を計算します。

p = nextpow2(8191);
n = 2^p
n = 8192

信号と最小の 2 のべき乗数を fft 関数に渡します。

y = fft(x,n);

入力引数

すべて折りたたむ

入力値。任意の数値型の実数値のスカラー、ベクトル、配列、table、または timetable として指定します。

例: 15

例: [-15.123 32.456 63.111]

例: int16([-15 32 63])

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | table | timetable

拡張機能

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

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

バージョン履歴

R2006a より前に導入

すべて展開する

参考

| |