MATLAB 帮助中心
本页翻译不是最新的。点击此处可查看最新英文版本。
循环平移数组
Y = circshift(A,K)
Y = circshift(A,K,dim)
Y = circshift(A,K) 循环将 A 中的元素平移 K 个位置。如果 K 为整数,则 circshift 沿大小不等于 1 的第一个 A 维度进行平移。如果 K 为整数向量,则每个 K 元素指示 A 的对应维度中的平移量。
A
K
circshift
注意
在 R2016b 中,circshift(A,K) 中 K 为标量时的默认行为已更改。要保留 R2016a 及以前版本的行为,请使用 circshift(A,K,1)。此语法指定 1 作为要沿其运算的维度。
circshift(A,K)
circshift(A,K,1)
示例
Y = circshift(A,K,dim) 循环将 A 中的值沿维度 dim 平移 K 个位置。输入 K 和 dim 必须为标量。
dim
全部折叠
创建一个数值列向量。
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 相同的元素,但元素的顺序不同。
Y
创建字符数组并使用 circshift 将字符平移 3 个位置。Y 中的字符具有不同的顺序。
A = 'racecar'; Y = circshift(A,3)
Y = 'carrace'
创建一个左上角包含一块“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
X = circshift(Y,[-1 -1])
X = 4×4 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0
输入数组,指定为向量、矩阵或多维数组。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | table | cell 复数支持: 是
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
char
string
struct
table
cell
平移量,指定为整数标量或整数向量。
如果您指定 K 为整数,但不指定 dim,则 circshift 将沿其大小不等于 1 的第一个维度平移。正 K 向维度末尾平移,负 K 向开头平移。
如果将 K 指定为整数向量,则 K 中的第 N 个元素指定 A 中第 N 个维度的平移量。如果 K 中的第 N 个元素为正值,则 A 的值将向第 N 个维度的末尾平移。如果第 N 个元素为负值,则值向开头平移。
如果平移量大于 A 中对应维度的长度,则平移操作会绕回到该维度的开头。例如,将 3 元素向量平移 +3 个位置将使其元素重新回到其原始位置。
沿其运算的维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个维度。如果指定 dim,则 K 必须为整数标量。通常,指定 dim = 1 以交换行,指定 dim = 2 以交换列,等等。
dim = 1
dim = 2
全部展开
用法说明和限制:
代码生成不支持使用表和元胞作为第一个输入参量。
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
circshift 函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray (Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
gpuArray
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
在 R2006a 之前推出
fftshift | reshape | shiftdim | permute
fftshift
reshape
shiftdim
permute
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处