MATLAB ヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
配列を循環シフト
Y = circshift(A,K)
Y = circshift(A,K,dim)
Y = circshift(A,K) は、K の分だけ配列 A の要素の位置を循環的にシフトします。K が整数の場合、circshift は、サイズが 1 に等しくない A の最初の次元に沿ってシフトします。K が整数ベクトルの場合、K の各要素は、A の対応する次元でのシフト量を示します。
A
K
circshift
メモ
K がスカラーである circshift(A,K) の既定の動作は、R2016b で変更されています。R2016a 以前のリリースの動作を保持するには、circshift(A,K,1) を使用します。この構文は、演算の対象の次元として 1 を指定します。
circshift(A,K)
circshift(A,K,1)
例
Y = circshift(A,K,dim) は、次元 dim に沿って、K の分だけ配列 A の値の位置を循環的にシフトします。入力 K と dim はスカラーでなければなりません。
dim
すべて折りたたむ
数値列ベクトルを作成します。
A = (1:10)'
A = 10×1 1 2 3 4 5 6 7 8 9 10
circshift を使用して要素を 3 位置分シフトします。
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 の各列を 1 位置分、右にシフトします。
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 位置分シフトします。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
すべて展開する
使用上の注意および制限:
コード生成は 1 番目の入力引数の table および cell をサポートしません。
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.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ