このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
circshift
配列を循環シフト
説明
例
列ベクトル要素のシフト
数値列ベクトルを作成します。
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
と同じ要素がありますが、順序が異なります。
配列内での文字のシフト
文字の配列を作成し、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 = 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++ コードを生成します。
使用上の注意事項および制限事項:
コード生成は 1 番目の入力引数の table および cell をサポートしません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は GPU 配列を完全にサポートしています。詳細については、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)