circshift
循环平移数组
说明
示例
平移列向量元素
创建一个数值列向量。
A = (1:10)'
A = 10×1
1
2
3
4
5
6
7
8
9
10
使用 circshift
将元素平移三个位置。
Y = circshift(A,3)
Y = 10×1
8
9
10
1
2
3
4
5
6
7
结果 Y
具有与 A
相同的元素,但元素的顺序不同。
平移数组中的字符
平移矩阵元素
创建一个左上角包含一块“1”的数值数组。
A = [1 1 0 0; 1 1 0 0; 0 0 0 0; 0 0 0 0]
A = 4×4
1 1 0 0
1 1 0 0
0 0 0 0
0 0 0 0
使用 circshift
将 A
的每一列向右平移一个位置。
Y = circshift(A,1,2)
Y = 4×4
0 1 1 0
0 1 1 0
0 0 0 0
0 0 0 0
将 A
的元素在每个维度中平移一个位置。由“1”构成的群组现在处于矩阵的中心。
Y = circshift(A,[1 1])
Y = 4×4
0 0 0 0
0 1 1 0
0 1 1 0
0 0 0 0
要将群组恢复到其原始位置,请使用负平移值对 Y
执行 circshift
。矩阵 X
等效于 A
。
X = circshift(Y,[-1 -1])
X = 4×4
1 1 0 0
1 1 0 0
0 0 0 0
0 0 0 0
输入参数
A
— 输入数组
向量 | 矩阵 | 多维数组
输入数组,指定为向量、矩阵或多维数组。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| struct
| table
| cell
复数支持: 是
K
— 平移量
整数标量 | 整数向量
平移量,指定为整数标量或整数向量。
如果您指定
K
为整数,但不指定dim
,则circshift
将沿其大小不等于 1 的第一个维度平移。正K
向维度末尾平移,负K
向开头平移。如果将
K
指定为整数向量,则K
中的第 N 个元素指定A
中第 N 个维度的平移量。如果K
中的第 N 个元素为正值,则A
的值将向第 N 个维度的末尾平移。如果第 N 个元素为负值,则值向开头平移。
如果平移量大于 A
中对应维度的长度,则平移操作会绕回到该维度的开头。例如,将 3 元素向量平移 +3 个位置将使其元素重新回到其原始位置。
dim
— 沿其运算的维度
正整数标量
沿其运算的维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个维度。如果指定 dim
,则 K
必须为整数标量。通常,指定 dim = 1
以交换行,指定 dim = 2
以交换列,等等。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
代码生成不支持使用表和元胞作为第一个输入参量。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (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)