shiftdim
移动数组维度
说明
示例
四维数组
创建一个 4×2×3×5 数组。将维度向左移动 2 个位置,使前两个维度长度绕回到最后两个维度。
A = rand(4,2,3,5); B = shiftdim(A,2); size(B)
ans = 1×4
3 5 4 2
将维度向右移动 2 个位置,使 2 个头部维度的长度为 1。向右移动不会将维度长度绕回。
C = shiftdim(A,-2); size(C)
ans = 1×6
1 1 4 2 3 5
移动数组维度
移动数组的维度。
计算 5 维数组 A
,并删除长度为 1 的头部维度。shiftdim
函数将移动 2 个维度,并返回三维数组 B
。
A = rand(1,1,3,2,4); [B,nshifts] = shiftdim(A); nshifts
nshifts = 2
size(B)
ans = 1×3
3 2 4
将 B
的维度向左移动两次。
C = shiftdim(B,2); size(C)
ans = 1×3
4 3 2
将 C
的维度向右移动一次。
D = shiftdim(C,-1); size(D)
ans = 1×4
1 4 3 2
输入参数
A
— 输入数组
向量 | 矩阵 | 多维数组
输入数组,指定为向量、矩阵或多维数组。
n
— 位置的数量
整数
要移动的维度位置数,指定为整数。当 n
为正数时,shiftdim
向左移动这些维度并将头部维度绕回到末尾。当 n
为负值时,shiftdim
向右移动维度,用长度 1 填充增加的头部维度。
输出参量
B
— 输出数组
向量 | 矩阵 | 多维数组
输出数组,指定为向量、矩阵或多维数组。
m
— 删除的维数量
非负整数
删除的维数量,指定为非负整数。shiftdim
仅删除长度为 1 的头部维度。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
第一个参量不支持元胞数组。
第二个参量必须为常量。
请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
shiftdim
函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray
(Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出
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)