nextpow2
2 的更高次幂的指数
说明
示例
定义一个 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 = 1×3 uint32 row vector
10 12 15
计算下一个大于 a 中值的 2 次幂。
2.^p
ans = 1×3 uint32 row vector
1024 4096 32768
当信号长度不等于 2 的幂时,使用 nextpow2 函数可提升 fft 的性能。
创建包含 8191 个样本值的一维向量。
rng default;
x = rand([1,8191]);计算 2 的更高次幂中大于 8191 的值。
p = nextpow2(8191); n = 2^p
n = 8192
将信号和 2 的更高次幂传递给 fft 函数。
y = fft(x,n);
输入参数
输入值,指定为由任何数值类型的实数组成的标量、向量、数组、表或时间表。
示例: 15
示例: [-15.123 32.456 63.111]
示例: int16([-15 32 63])
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | table | timetable
扩展功能
nextpow2 函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
nextpow2 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出nextpow2 函数可以对表或时间表中的所有变量执行计算,而无需通过索引访问这些变量。所有变量都必须具有支持计算的数据类型。有关详细信息,请参阅Direct Calculations on Tables and Timetables。
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.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 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)