permute
置换数组维度
说明
示例
创建一个 4×3 矩阵。置换此矩阵以交换行维度和列维度。
A = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
A = 4×3
1 2 3
4 5 6
7 8 9
10 11 12
B = permute(A,[2 1])
B = 3×4
1 4 7 10
2 5 8 11
3 6 9 12
创建一个 3×4×2 数组。置换此数组,使第一个维度和第三个维度交换,从而得到 2×4×3 数组。
rng default
A = rand(3,4,2)A =
A(:,:,1) =
0.8147 0.9134 0.2785 0.9649
0.9058 0.6324 0.5469 0.1576
0.1270 0.0975 0.9575 0.9706
A(:,:,2) =
0.9572 0.1419 0.7922 0.0357
0.4854 0.4218 0.9595 0.8491
0.8003 0.9157 0.6557 0.9340
B = permute(A,[3 2 1])
B =
B(:,:,1) =
0.8147 0.9134 0.2785 0.9649
0.9572 0.1419 0.7922 0.0357
B(:,:,2) =
0.9058 0.6324 0.5469 0.1576
0.4854 0.4218 0.9595 0.8491
B(:,:,3) =
0.1270 0.0975 0.9575 0.9706
0.8003 0.9157 0.6557 0.9340
szB = size(B)
szB = 1×3
2 4 3
输入参数
输入数组,指定为向量、矩阵或多维数组。
维度顺序,指定为具有唯一正整数元素的行向量,这些元素代表输入数组的维度。
扩展功能
用法说明和限制:
dimorder必须为固定大小的行向量。如果
B是异构元胞数组,则dimorder必须为常量。要了解有关异构元胞数组的更多信息,请参阅Code Generation for Cell Arrays (MATLAB Coder)。
请参阅“C/C++ 代码生成”部分中的用法说明和限制。同样的用法说明和限制也适用于 GPU 代码生成。
permute 函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
permute 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
permute 函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出您可以为此函数生成 C/C++ 代码。
从 R2019b 开始,当 dimorder 是非整数值或复数值时,语法 permute(A,dimorder) 会产生错误。请将 dimorder 指定为正实整数值。
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)